Title: [141430] trunk
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)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to