- Revision
- 141430
- Author
- [email protected]
- Date
- 2013-01-31 10:04:16 -0800 (Thu, 31 Jan 2013)
Log Message
[Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
https://bugs.webkit.org/show_bug.cgi?id=108472
Reviewed by Andreas Kling.
.:
When linking WebKit2, also link the WebKit2QML module.
* Source/api.pri:
Source/WebKit2:
Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
that doesn't depend on WebKit2 internals.
Changed qwebnavigationhistory.cpp to not use any internal headers and compile it as part of the
internals-free module.
* Target.pri:
* UIProcess/API/qt/qwebnavigationhistory.cpp:
* WebKit2.pro:
* WebKit2QML.pri: Added.
Tools:
Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
that doesn't depend on WebKit2 internals.
* qmake/mkspecs/features/webkit_modules.prf:
* qmake/mkspecs/modules/webkit2qml.prf: Copied from Source/WebKit2/WebKit2.pro.
Modified Paths
Added Paths
Diff
Modified: trunk/ChangeLog (141429 => 141430)
--- trunk/ChangeLog 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/ChangeLog 2013-01-31 18:04:16 UTC (rev 141430)
@@ -1,3 +1,14 @@
+2013-01-31 Simon Hausmann <[email protected]>
+
+ [Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
+ https://bugs.webkit.org/show_bug.cgi?id=108472
+
+ Reviewed by Andreas Kling.
+
+ When linking WebKit2, also link the WebKit2QML module.
+
+ * Source/api.pri:
+
2013-01-30 Dominik Röttsches <[email protected]>
[HarfBuzz] Remove the HarfBuzz-old code
Modified: trunk/Source/WebKit2/ChangeLog (141429 => 141430)
--- trunk/Source/WebKit2/ChangeLog 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Source/WebKit2/ChangeLog 2013-01-31 18:04:16 UTC (rev 141430)
@@ -1,5 +1,23 @@
2013-01-31 Simon Hausmann <[email protected]>
+ [Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
+ https://bugs.webkit.org/show_bug.cgi?id=108472
+
+ Reviewed by Andreas Kling.
+
+ Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
+ that doesn't depend on WebKit2 internals.
+
+ Changed qwebnavigationhistory.cpp to not use any internal headers and compile it as part of the
+ internals-free module.
+
+ * Target.pri:
+ * UIProcess/API/qt/qwebnavigationhistory.cpp:
+ * WebKit2.pro:
+ * WebKit2QML.pri: Added.
+
+2013-01-31 Simon Hausmann <[email protected]>
+
Unreviewed trivial build fix: Add missing virtual destructor to
LayerTreeRendererClient. Otherwise the build with -Werror breaks, which
complains (rightly so) that we're deleting a sub-class where the super class
Modified: trunk/Source/WebKit2/Target.pri (141429 => 141430)
--- trunk/Source/WebKit2/Target.pri 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Source/WebKit2/Target.pri 2013-01-31 18:04:16 UTC (rev 141430)
@@ -807,8 +807,6 @@
UIProcess/API/qt/qwebnavigationrequest_p.h \
UIProcess/API/qt/qquickwebpage_p.h \
UIProcess/API/qt/qquickwebpage_p_p.h \
- UIProcess/API/qt/qwebnavigationhistory_p.h \
- UIProcess/API/qt/qwebnavigationhistory_p_p.h \
UIProcess/API/qt/qquickwebview_p.h \
UIProcess/API/qt/qquickwebview_p_p.h \
UIProcess/API/qt/qquicknetworkreply_p.h \
@@ -843,7 +841,6 @@
UIProcess/API/qt/qwebloadrequest.cpp \
UIProcess/API/qt/qwebnavigationrequest.cpp \
UIProcess/API/qt/qquickwebpage.cpp \
- UIProcess/API/qt/qwebnavigationhistory.cpp \
UIProcess/API/qt/qquickwebview.cpp \
UIProcess/API/qt/qwebiconimageprovider.cpp \
UIProcess/API/qt/qquicknetworkreply.cpp \
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qwebnavigationhistory.cpp (141429 => 141430)
--- trunk/Source/WebKit2/UIProcess/API/qt/qwebnavigationhistory.cpp 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qwebnavigationhistory.cpp 2013-01-31 18:04:16 UTC (rev 141430)
@@ -30,7 +30,6 @@
#include "WKStringQt.h"
#include "WKURL.h"
#include "WKURLQt.h"
-#include "WebBackForwardList.h"
#include "qwebnavigationhistory_p_p.h"
#include <QString>
@@ -39,7 +38,9 @@
#include <WebKit2/WKArray.h>
#include <WebKit2/WKBackForwardListItem.h>
#include <WebKit2/WKBase.h>
+#include <WebKit2/WKPage.h>
#include <WebKit2/WKRetainPtr.h>
+#include <wtf/PassOwnPtr.h>
using namespace WebKit;
Modified: trunk/Source/WebKit2/WebKit2.pro (141429 => 141430)
--- trunk/Source/WebKit2/WebKit2.pro 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Source/WebKit2/WebKit2.pro 2013-01-31 18:04:16 UTC (rev 141430)
@@ -12,3 +12,10 @@
SUBDIRS += derived_sources target
addStrictSubdirOrderBetween(derived_sources, target)
+
+have?(QTQUICK) {
+ webkit2qml.file = WebKit2QML.pri
+ SUBDIRS += webkit2qml
+
+ addStrictSubdirOrderBetween(target, webkit2qml)
+}
Added: trunk/Source/WebKit2/WebKit2QML.pri (0 => 141430)
--- trunk/Source/WebKit2/WebKit2QML.pri (rev 0)
+++ trunk/Source/WebKit2/WebKit2QML.pri 2013-01-31 18:04:16 UTC (rev 141430)
@@ -0,0 +1,80 @@
+# -------------------------------------------------------------------
+# Target file for the WebKit2 QML static library
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+TEMPLATE = lib
+TARGET = WebKit2QML
+
+WEBKIT += wtf _javascript_core webcore webkit2
+
+load(webkit_modules)
+
+SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebKit2
+
+# Remove include paths that point to directories containing
+# internal API, to prevent the accidental inclusion.
+INCLUDEPATH -= \
+ $$SOURCE_DIR \
+ $$SOURCE_DIR/Platform \
+ $$SOURCE_DIR/Platform/CoreIPC \
+ $$SOURCE_DIR/Platform/qt \
+ $$SOURCE_DIR/Shared \
+ $$SOURCE_DIR/Shared/linux/SandboxProcess \
+ $$SOURCE_DIR/Shared/Authentication \
+ $$SOURCE_DIR/Shared/CoordinatedGraphics \
+ $$SOURCE_DIR/Shared/CoreIPCSupport \
+ $$SOURCE_DIR/Shared/Downloads \
+ $$SOURCE_DIR/Shared/Downloads/qt \
+ $$SOURCE_DIR/Shared/Network \
+ $$SOURCE_DIR/Shared/Plugins \
+ $$SOURCE_DIR/Shared/Plugins/Netscape \
+ $$SOURCE_DIR/Shared/qt \
+ $$SOURCE_DIR/UIProcess \
+ $$SOURCE_DIR/UIProcess/API/qt \
+ $$SOURCE_DIR/UIProcess/Authentication \
+ $$SOURCE_DIR/UIProcess/CoordinatedGraphics \
+ $$SOURCE_DIR/UIProcess/Downloads \
+ $$SOURCE_DIR/UIProcess/InspectorServer \
+ $$SOURCE_DIR/UIProcess/InspectorServer/qt \
+ $$SOURCE_DIR/UIProcess/Launcher \
+ $$SOURCE_DIR/UIProcess/Notifications \
+ $$SOURCE_DIR/UIProcess/Plugins \
+ $$SOURCE_DIR/UIProcess/Storage \
+ $$SOURCE_DIR/UIProcess/qt \
+ $$SOURCE_DIR/UIProcess/texmap \
+ $$SOURCE_DIR/WebProcess \
+ $$SOURCE_DIR/WebProcess/ApplicationCache \
+ $$SOURCE_DIR/WebProcess/Battery \
+ $$SOURCE_DIR/WebProcess/Cookies \
+ $$SOURCE_DIR/WebProcess/Cookies/qt \
+ $$SOURCE_DIR/WebProcess/FullScreen \
+ $$SOURCE_DIR/WebProcess/Geolocation \
+ $$SOURCE_DIR/WebProcess/IconDatabase \
+ $$SOURCE_DIR/WebProcess/InjectedBundle \
+ $$SOURCE_DIR/WebProcess/InjectedBundle/DOM \
+ $$SOURCE_DIR/WebProcess/InjectedBundle/API/c \
+ $$SOURCE_DIR/WebProcess/MediaCache \
+ $$SOURCE_DIR/WebProcess/NetworkInfo \
+ $$SOURCE_DIR/WebProcess/Notifications \
+ $$SOURCE_DIR/WebProcess/Plugins \
+ $$SOURCE_DIR/WebProcess/Plugins/Netscape \
+ $$SOURCE_DIR/WebProcess/ResourceCache \
+ $$SOURCE_DIR/WebProcess/Storage \
+ $$SOURCE_DIR/WebProcess/WebCoreSupport \
+ $$SOURCE_DIR/WebProcess/WebCoreSupport/qt \
+ $$SOURCE_DIR/WebProcess/WebPage \
+ $$SOURCE_DIR/WebProcess/WebPage/CoordinatedGraphics \
+ $$SOURCE_DIR/WebProcess/qt \
+ $$SOURCE_DIR/PluginProcess
+
+CONFIG += staticlib
+
+SOURCES += \
+ UIProcess/API/qt/qwebnavigationhistory.cpp
+
+HEADERS += \
+ UIProcess/API/qt/qwebnavigationhistory_p.h \
+ UIProcess/API/qt/qwebnavigationhistory_p_p.h
+
Modified: trunk/Source/api.pri (141429 => 141430)
--- trunk/Source/api.pri 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Source/api.pri 2013-01-31 18:04:16 UTC (rev 141430)
@@ -15,7 +15,10 @@
WEBKIT += wtf _javascript_core webcore
build?(webkit1): WEBKIT += webkit1
-build?(webkit2): WEBKIT += webkit2
+build?(webkit2) {
+ WEBKIT += webkit2
+ have?(QTQUICK): WEBKIT += webkit2qml
+}
# Ensure that changes to the WebKit1 and WebKit2 API will trigger a qmake of this
# file, which in turn runs syncqt to update the forwarding headers.
Modified: trunk/Tools/ChangeLog (141429 => 141430)
--- trunk/Tools/ChangeLog 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Tools/ChangeLog 2013-01-31 18:04:16 UTC (rev 141430)
@@ -1,3 +1,16 @@
+2013-01-31 Simon Hausmann <[email protected]>
+
+ [Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
+ https://bugs.webkit.org/show_bug.cgi?id=108472
+
+ Reviewed by Andreas Kling.
+
+ Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
+ that doesn't depend on WebKit2 internals.
+
+ * qmake/mkspecs/features/webkit_modules.prf:
+ * qmake/mkspecs/modules/webkit2qml.prf: Copied from Source/WebKit2/WebKit2.pro.
+
2013-01-31 James Robinson <[email protected]>
[chromium] Remove dead transitional code from WebViewImpl
Modified: trunk/Tools/qmake/mkspecs/features/webkit_modules.prf (141429 => 141430)
--- trunk/Tools/qmake/mkspecs/features/webkit_modules.prf 2013-01-31 17:59:22 UTC (rev 141429)
+++ trunk/Tools/qmake/mkspecs/features/webkit_modules.prf 2013-01-31 18:04:16 UTC (rev 141430)
@@ -7,7 +7,7 @@
# Reorder libraries so that the link and include order is correct,
# and make sure the case matches the original case.
-libraries = WebKit1 WebKit2 WebCore ANGLE _javascript_Core WTF
+libraries = WebKit1 WebKit2QML WebKit2 WebCore ANGLE _javascript_Core WTF
for(library, libraries) {
contains(WEBKIT, $$lower($$library)) {
WEBKIT -= $$lower($$library)
Copied: trunk/Tools/qmake/mkspecs/modules/webkit2qml.prf (from rev 141429, trunk/Source/WebKit2/WebKit2.pro) (0 => 141430)
--- trunk/Tools/qmake/mkspecs/modules/webkit2qml.prf (rev 0)
+++ trunk/Tools/qmake/mkspecs/modules/webkit2qml.prf 2013-01-31 18:04:16 UTC (rev 141430)
@@ -0,0 +1,9 @@
+# -------------------------------------------------------------------
+# Module file for WebKit2, used by targets that depend on WebKit2
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+WEBKIT.webkit2qml.root_source_dir = $${ROOT_WEBKIT_DIR}/Source/WebKit2
+
+#include($${WEBKIT.webkit2.root_source_dir}/WebKit2QML.pri)