From Fedora Project Wiki

Revision as of 14:33, 2 February 2016 by Kkofler (talk | contribs) (→‎Scope: QupZilla 1.9.99 is now in Rawhide, also add the Bugzilla link.)

QtWebEngine

Summary

QtWebEngine will be packaged for Fedora, initially at version 5.6. In addition, the QupZilla browser will be upgraded to the QtWebEngine-based QupZilla 2.

Owner

  • Name: Kevin Kofler
  • Email: Kevin [AT] tigcc [DOT] ticalc [DOT] org
  • Release notes owner: <To be assigned by docs team>

Current status

Detailed Description

QtWebEngine is the new web engine by the Qt project based on Chromium, effectively replacing QtWebKit, though it is not a drop-in replacement. QtWebEngine will be available in Fedora as an additional option. QtWebKit will remain available for the foreseeable future, and thus applications currently using QtWebKit are not impacted by this change, unless and until upstream ports them to QtWebEngine. The version initially packaged for Fedora 24 will be QtWebEngine 5.6.

QupZilla is a modern, lightweight and fast browser written in Qt. QupZilla 1 was based on QtWebKit. It will be replaced by the new QupZilla 2, which is instead based on QtWebEngine.

Benefit to Fedora

Since the Qt upstream project has deprecated QtWebKit in Qt 5.5 and is no longer officially supporting it in Qt 5.6, more and more Qt applications will require QtWebEngine. QtWebKit is based on an old WebKit branch that was discontinued by upstream WebKit long ago, meaning it lags behind current web standards and even security fixes. QtWebEngine is based on a recent version of Chromium (QtWebEngine 5.6 is based on Chromium 45), gets backported security fixes, and will be rebased to a newer Chromium at new Qt releases, as QtWebKit was in the past.

With QupZilla 2, a web browser supporting the latest web standards will be available to our users (and to spin maintainers), as an alternative to Firefox. Compared to QupZilla 1 and other QtWebKit-based browsers, both compatibility with websites and security will be significantly higher.

Scope

  • Proposal owners:
    • Package QtWebEngine 5.6.0 beta, based on Helio Castro's initial work: DONE
    • Remove patent-encumbered codecs from the upstream tarball using the scripts from spot's Chromium packages: DONE
    • Get qt5-qtwebengine through review [1]: DONE
    • Unbundle all libraries that can be unbundled: DONE
    • Make the package run on i686 machines without SSE2, while degrading performance for SSE2-enabled machines as little as possible: DONE [2]
    • (Nice-to-have: Look into backporting Samsung's Chromium GStreamer backend [3]: TODO)
    • Package a QupZilla 1.9.99 snapshot: DONE [4]
    • Upgrade the qupzilla package in Rawhide to 1.9.99 / 2.0.0 [5]: DONE


  • Other developers: N/A (not a System Wide Change)
  • Release engineering: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

QtWebEngine:

  • The package will be a new package. It will not replace the QtWebKit package. Therefore, no changes are required to applications.
  • From the user's point of view, it will simply be a new library, that may or may not get installed as a dependency by upgrades to their existing packages.

QupZilla:

  • The user-visible changes will be of the amount expected for a new major version of a leaf application.
  • Manual configuration should not be needed, though some settings from the old QtWebKit-based version may no longer apply to QtWebEngine.
  • The most noticeable difference will be the actual web engine. Web pages may render slightly differently. Some web pages that previously did not work will start working. Some web pages that were using obsolete constructs may break, though hopefully that will not be the case. One issue may be support for patent-encumbered codecs: I hope to get GStreamer support working, which was exactly what QtWebKit used.

There will be no impact on other packages from this change, which is why I consider it self-contained.

How To Test

(A test plan is not required for a self-contained change, but here's a short one:)

The easiest way to test QtWebEngine is through QupZilla 2. Just install the qupzilla package, version 1.9.99 or higher. For now, you can get it from the Copr repository at [6]. The qt5-qtwebengine package should be installed as a dependency; if not, you did something wrong (you're probably installing the old QupZilla 1.8.x instead). Then surf the web with QupZilla as you would with any other browser.

User Experience

N/A (not a System Wide Change)

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change)
  • Blocks product? None

Documentation

Release Notes

Fedora now includes the new QtWebEngine library, a Qt port of the Chromium web engine. Application developers are encouraged to use QtWebEngine instead of QtWebKit, which was deprecated by the Qt project in favor of QtWebEngine. QupZilla, a modern, lightweight and fast browser written in Qt, is now based on QtWebEngine instead of QtWebKit, bringing it up to date with modern web and security standards. Other QtWebKit browsers such as Konqueror (with the KWebKitPart) and Rekonq are still available, but their users may find QupZilla 2 with QtWebEngine to be a more modern alternative.