[webkit-qt] Qt5: Dependencies to private Qt APIs
Simon Hausmann
simon.hausmann at nokia.com
Wed Dec 14 05:10:04 PST 2011
Hi,
In the past we had a strict rule to not use any private APIs from Qt (4),
which allowed us to make separate releases and support building against
multiple Qt versions at the same time without too much #ifdeffery.
With the builds against Qt 5 we are dealing with a platform that is vastly
different to what Qt 4 was to WebKit: The features we rely on are young and
subject to change.
An example of this is our intent of using the QML flickable component for the
WebView to allow for user interaction that is consistent with the rest of QML.
The flickable as C++ component (the way we need to use it) however is only
private API in Qt 5. Similarly there may be functionality from the Qt 5 scene
graph that we need in order to implement proper rendering which may only be
available to us as private APIs.
(A third example is the use of Qt's copy of V8, which is also technically
private API)
So unlike with Qt 4, this time in order to achieve some of our goals we may
have to resort to depending on functionality in Qt 5 that is private at the
moment. A result of such a dependency is that we more or less loose the
ability to release independently, at least not without risking major
maintenance overhead when it comes to supporting multiple versions of Qt 5 at
the same time.
I suggest that we tie ourselves back to Qt 5 releases and allow the
(controlled) use of private Qt 5 APIs for the time being, in order to achieve
a perfect QML and scene graph integration. When these features stabilize and
at some point become available through public APIs, then we should consider
resorting to the old rule.
What do you guys think?
Simon
More information about the webkit-qt
mailing list