From 2eac3aeb98fca0e6c13aaaff481861c5ef679e68 Mon Sep 17 00:00:00 2001 From: Konstantin Tokarev Date: Tue, 8 Oct 2019 01:20:22 +0300 Subject: Import QtWebKit commit 5e53102492e5ce85bda2657468f1369a0173c2ce Change-Id: Id71d7c7f5eafe58f7bd8c46a2a07fd0bad015628 Reviewed-by: Konstantin Tokarev --- Source/PlatformQt.cmake | 28 ++++++++++++++++++++++++++-- Source/WebCore/dom/Document.cpp | 6 +++--- Tools/qmake/projects/run_cmake.pro | 2 ++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/Source/PlatformQt.cmake b/Source/PlatformQt.cmake index 2d58228dc..c99d89d70 100644 --- a/Source/PlatformQt.cmake +++ b/Source/PlatformQt.cmake @@ -87,6 +87,29 @@ target_include_directories(WebKitWidgets INTERFACE $ ) +if (QT_ORIGIN_RPATH) + set(WEBKIT_SHARED_LIBRARY_TARGETS WebKit) + + if (TARGET WebKitWidgets) + list(APPEND WEBKIT_SHARED_LIBRARY_TARGETS WebKitWidgets) + endif () + + if (TARGET WebKit2) + set(WEBKIT2_EXECUTABLES WebProcess NetworkProcess) + if (ENABLE_PLUGIN_PROCESS) + list(APPEND WEBKIT2_EXECUTABLES PluginProcess) + endif () + if (ENABLE_DATABASE_PROCESS) + list(APPEND WEBKIT2_EXECUTABLES DatabaseProcess) + endif () + set_target_properties(${WEBKIT2_EXECUTABLES} PROPERTIES INSTALL_RPATH "\$ORIGIN/../lib") + set_target_properties(qmlwebkitplugin PROPERTIES INSTALL_RPATH "\$ORIGIN/../../lib") + set_target_properties(qmlwebkitexperimentalplugin PROPERTIES INSTALL_RPATH "\$ORIGIN/../../../lib") + endif () + + set_target_properties(${WEBKIT_SHARED_LIBRARY_TARGETS} PROPERTIES INSTALL_RPATH "\$ORIGIN") +endif () + set(QTWEBKIT_PACKAGE_INIT " macro(find_dependency_with_major_and_minor _dep _major _minor) find_dependency(\${_dep} \"\${_major}.\${_minor}\") @@ -162,17 +185,18 @@ install(FILES COMPONENT Data ) +# We need to install separate config files for debug and release, so use "Code" component install(EXPORT WebKitTargets FILE WebKitTargets.cmake NAMESPACE Qt5:: DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKit" - COMPONENT Data + COMPONENT Code ) install(EXPORT Qt5WebKitWidgetsTargets FILE Qt5WebKitWidgetsTargets.cmake NAMESPACE Qt5:: DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKitWidgets" - COMPONENT Data + COMPONENT Code ) # Documentation diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp index 1bca2d0a6..19355f166 100644 --- a/Source/WebCore/dom/Document.cpp +++ b/Source/WebCore/dom/Document.cpp @@ -4407,12 +4407,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) unsigned i = 0; UChar32 c; - U16_NEXT(characters, i, length, c) + U16_NEXT(characters, i, length, c); if (!isValidNameStart(c)) return false; while (i < length) { - U16_NEXT(characters, i, length, c) + U16_NEXT(characters, i, length, c); if (!isValidNamePart(c)) return false; } @@ -4474,7 +4474,7 @@ bool Document::parseQualifiedName(const String& qualifiedName, String& prefix, S for (unsigned i = 0; i < length;) { UChar32 c; - U16_NEXT(qualifiedName, i, length, c) + U16_NEXT(qualifiedName, i, length, c); if (c == ':') { if (sawColon) { ec = NAMESPACE_ERR; diff --git a/Tools/qmake/projects/run_cmake.pro b/Tools/qmake/projects/run_cmake.pro index 345e43a01..71872664b 100644 --- a/Tools/qmake/projects/run_cmake.pro +++ b/Tools/qmake/projects/run_cmake.pro @@ -86,6 +86,8 @@ build_pass|!debug_and_release { !qt_framework: CMAKE_CONFIG += MACOS_BUILD_FRAMEWORKS=OFF } + linux:isEqual(EXTRA_RPATHS, "."): CMAKE_CONFIG += QT_ORIGIN_RPATH=ON + !isEmpty(use_ninja): cmake_args += "-G Ninja" equals(QMAKE_HOST.os, Windows) { -- cgit v1.2.1