summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2017-01-09 10:23:36 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:31:22 +0000
commit46167faa61861b01a0e4e8e774da9febc3c2956e (patch)
tree0d0074550506173a5671e1c0040b45f53e48cd6a
parentb9e202b0f12f275d4aade98943df92bf67684f52 (diff)
Imported WebKit commit 30997fb33975697a4af9cc6eef69967313d0ec9a
Change-Id: I8a2348dd9eb59df840dde6b66141d562aff29bf4 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
-rw-r--r--Source/JavaScriptCore/PlatformQt.cmake14
-rw-r--r--Source/WTF/wtf/Platform.h10
-rw-r--r--Source/WTF/wtf/PlatformQt.cmake12
-rw-r--r--Source/WTF/wtf/text/ASCIIFastPath.h4
-rw-r--r--Source/WebCore/PlatformQt.cmake18
-rw-r--r--Source/WebCore/platform/FileSystem.h4
-rw-r--r--Source/WebCore/platform/audio/SincResampler.cpp4
-rw-r--r--Source/WebCore/platform/audio/VectorMath.cpp20
-rw-r--r--Source/WebCore/platform/qt/FileSystemQt.cpp2
-rw-r--r--Source/WebCore/platform/qt/RenderThemeQStyle.cpp11
-rw-r--r--Source/WebCore/rendering/SimpleLineLayout.cpp1
-rw-r--r--Source/WebKit/PlatformQt.cmake9
-rw-r--r--Source/WebKit/qt/Api/qwebhistory.cpp10
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp5
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h1
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebframe.cpp5
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebframe.h1
-rw-r--r--Source/cmake/OptionsQt.cmake52
-rw-r--r--Source/cmake/WebKitMacros.cmake3
-rw-r--r--Tools/qmake/projects/run_cmake.pro1
20 files changed, 96 insertions, 91 deletions
diff --git a/Source/JavaScriptCore/PlatformQt.cmake b/Source/JavaScriptCore/PlatformQt.cmake
index 057929139..34a372756 100644
--- a/Source/JavaScriptCore/PlatformQt.cmake
+++ b/Source/JavaScriptCore/PlatformQt.cmake
@@ -30,17 +30,3 @@ if (WIN32)
inspector/JSGlobalObjectInspectorController.cpp
)
endif ()
-
-if (MSVC)
- file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore)
-
- set(JavaScriptCore_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore/preBuild.cmd")
- file(REMOVE "${JavaScriptCore_PRE_BUILD_COMMAND}")
- foreach (_directory ${JavaScriptCore_FORWARDING_HEADERS_DIRECTORIES})
- file(APPEND "${JavaScriptCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${JAVASCRIPTCORE_DIR}/${_directory}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore\" >nul 2>nul\n")
- endforeach ()
-
- set(JavaScriptCore_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore/postBuild.cmd")
- file(WRITE "${JavaScriptCore_POST_BUILD_COMMAND}" "@xcopy /y /d /f \"${DERIVED_SOURCES_DIR}/JavaScriptCore/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore\" >nul 2>nul\n")
- file(APPEND "${JavaScriptCore_POST_BUILD_COMMAND}" "@xcopy /y /d /f \"${DERIVED_SOURCES_DIR}/JavaScriptCore/inspector/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore\" >nul 2>nul\n")
-endif ()
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index f2aa1f628..9ae58ef48 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -162,12 +162,18 @@
|| defined(_X86_) \
|| defined(__THW_INTEL)
#define WTF_CPU_X86 1
+
+#if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
+#define WTF_CPU_X86_SSE2 1
+#endif
+
#endif
/* CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit */
#if defined(__x86_64__) \
|| defined(_M_X64)
#define WTF_CPU_X86_64 1
+#define WTF_CPU_X86_SSE2 1
#endif
/* CPU(ARM64) - Apple */
@@ -595,6 +601,10 @@
#define USE_CFURLCACHE 1
#endif
+#if PLATFORM(QT) && OS(DARWIN)
+#define USE_CF 1
+#endif
+
#if !defined(HAVE_ACCESSIBILITY)
#if PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(EFL)
#define HAVE_ACCESSIBILITY 1
diff --git a/Source/WTF/wtf/PlatformQt.cmake b/Source/WTF/wtf/PlatformQt.cmake
index 1e64e8bb2..7efcd4015 100644
--- a/Source/WTF/wtf/PlatformQt.cmake
+++ b/Source/WTF/wtf/PlatformQt.cmake
@@ -52,13 +52,13 @@ if (WIN32)
)
endif ()
-if (MSVC)
- set(WTF_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WTF/postBuild.cmd")
- file(WRITE "${WTF_POST_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WTF_DIR}/wtf/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF\" >nul 2>nul\n@xcopy /y /s /d /f \"${DERIVED_SOURCES_DIR}/WTF/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF\" >nul 2>nul\n")
- file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF)
-endif ()
-
if (APPLE)
+ list(APPEND WTF_SOURCES
+ text/cf/AtomicStringImplCF.cpp
+ text/cf/StringCF.cpp
+ text/cf/StringImplCF.cpp
+ text/cf/StringViewCF.cpp
+ )
list(APPEND WTF_LIBRARIES
${COREFOUNDATION_LIBRARY}
)
diff --git a/Source/WTF/wtf/text/ASCIIFastPath.h b/Source/WTF/wtf/text/ASCIIFastPath.h
index e5b9d3be2..eb54828a2 100644
--- a/Source/WTF/wtf/text/ASCIIFastPath.h
+++ b/Source/WTF/wtf/text/ASCIIFastPath.h
@@ -27,7 +27,7 @@
#include <wtf/StdLibExtras.h>
#include <wtf/text/LChar.h>
-#if OS(DARWIN) && (CPU(X86) || CPU(X86_64))
+#if CPU(X86_SSE2)
#include <emmintrin.h>
#endif
@@ -109,7 +109,7 @@ inline bool charactersAreAllASCII(const CharacterType* characters, size_t length
inline void copyLCharsFromUCharSource(LChar* destination, const UChar* source, size_t length)
{
-#if OS(DARWIN) && (CPU(X86) || CPU(X86_64))
+#if CPU(X86_SSE2)
const uintptr_t memoryAccessSize = 16; // Memory accesses on 16 byte (128 bit) alignment
const uintptr_t memoryAccessMask = memoryAccessSize - 1;
diff --git a/Source/WebCore/PlatformQt.cmake b/Source/WebCore/PlatformQt.cmake
index 0661364c5..3b9e36bef 100644
--- a/Source/WebCore/PlatformQt.cmake
+++ b/Source/WebCore/PlatformQt.cmake
@@ -413,20 +413,14 @@ if (MSVC)
"${WEBCORE_DIR}/ForwardingHeaders"
"${WEBCORE_DIR}/platform/win"
)
+endif ()
- file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore)
-
- set(WebCore_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/preBuild.cmd")
- file(WRITE "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WEBCORE_DIR}/ForwardingHeaders/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n")
- foreach (_directory ${WebCore_FORWARDING_HEADERS_DIRECTORIES})
- file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_directory}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n")
- endforeach ()
- foreach (_file ${WebCore_FORWARDING_HEADERS_FILES})
- file(APPEND "${WebCore_PRE_BUILD_COMMAND}" "@xcopy /y /d /f \"${WEBCORE_DIR}/${_file}\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n")
- endforeach ()
+if (APPLE)
+ list(APPEND WebCore_SOURCES
+ platform/VNodeTracker.cpp
- set(WebCore_POST_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WebCore/postBuild.cmd")
- file(WRITE "${WebCore_POST_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${DERIVED_SOURCES_WEBCORE_DIR}/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore\" >nul 2>nul\n")
+ platform/cf/SharedBufferCF.cpp
+ )
endif ()
# From PlatformEfl.cmake
diff --git a/Source/WebCore/platform/FileSystem.h b/Source/WebCore/platform/FileSystem.h
index 8dc360dc2..f3844b8df 100644
--- a/Source/WebCore/platform/FileSystem.h
+++ b/Source/WebCore/platform/FileSystem.h
@@ -49,7 +49,7 @@
#endif
#endif
-#if USE(CF) || (PLATFORM(QT) && defined(Q_WS_MAC))
+#if USE(CF) || (PLATFORM(QT) && defined(Q_OS_MAC))
typedef struct __CFBundle* CFBundleRef;
typedef const struct __CFData* CFDataRef;
#endif
@@ -75,7 +75,7 @@ typedef HMODULE PlatformModule;
#elif PLATFORM(EFL)
typedef Eina_Module* PlatformModule;
#elif PLATFORM(QT)
-#if defined(Q_WS_MAC)
+#if defined(Q_OS_MAC)
typedef CFBundleRef PlatformModule;
#elif !defined(QT_NO_LIBRARY)
typedef QLibrary* PlatformModule;
diff --git a/Source/WebCore/platform/audio/SincResampler.cpp b/Source/WebCore/platform/audio/SincResampler.cpp
index 9a9c54677..d27ac19ea 100644
--- a/Source/WebCore/platform/audio/SincResampler.cpp
+++ b/Source/WebCore/platform/audio/SincResampler.cpp
@@ -35,7 +35,7 @@
#include "AudioBus.h"
#include <wtf/MathExtras.h>
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
#include <emmintrin.h>
#endif
@@ -260,7 +260,7 @@ void SincResampler::process(AudioSourceProvider* sourceProvider, float* destinat
{
float input;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
// If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed seperately.
while ((reinterpret_cast<uintptr_t>(inputP) & 0x0F) && n) {
CONVOLVE_ONE_SAMPLE
diff --git a/Source/WebCore/platform/audio/VectorMath.cpp b/Source/WebCore/platform/audio/VectorMath.cpp
index f308e0312..7e8d44f3d 100644
--- a/Source/WebCore/platform/audio/VectorMath.cpp
+++ b/Source/WebCore/platform/audio/VectorMath.cpp
@@ -32,7 +32,7 @@
#include <Accelerate/Accelerate.h>
#endif
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
#include <emmintrin.h>
#endif
@@ -134,7 +134,7 @@ void vsma(const float* sourceP, int sourceStride, const float* scale, float* des
{
int n = framesToProcess;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
if ((sourceStride == 1) && (destStride == 1)) {
float k = *scale;
@@ -207,7 +207,7 @@ void vsmul(const float* sourceP, int sourceStride, const float* scale, float* de
{
int n = framesToProcess;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
if ((sourceStride == 1) && (destStride == 1)) {
float k = *scale;
@@ -278,7 +278,7 @@ void vsmul(const float* sourceP, int sourceStride, const float* scale, float* de
sourceP += sourceStride;
destP += destStride;
}
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
}
#endif
}
@@ -287,7 +287,7 @@ void vadd(const float* source1P, int sourceStride1, const float* source2P, int s
{
int n = framesToProcess;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
if ((sourceStride1 ==1) && (sourceStride2 == 1) && (destStride == 1)) {
// If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed separately.
while ((reinterpret_cast<size_t>(source1P) & 0x0F) && n) {
@@ -390,7 +390,7 @@ void vadd(const float* source1P, int sourceStride1, const float* source2P, int s
source2P += sourceStride2;
destP += destStride;
}
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
}
#endif
}
@@ -400,7 +400,7 @@ void vmul(const float* source1P, int sourceStride1, const float* source2P, int s
int n = framesToProcess;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
if ((sourceStride1 == 1) && (sourceStride2 == 1) && (destStride == 1)) {
// If the source1P address is not 16-byte aligned, the first several frames (at most three) should be processed separately.
while ((reinterpret_cast<uintptr_t>(source1P) & 0x0F) && n) {
@@ -473,7 +473,7 @@ void vmul(const float* source1P, int sourceStride1, const float* source2P, int s
void zvmul(const float* real1P, const float* imag1P, const float* real2P, const float* imag2P, float* realDestP, float* imagDestP, size_t framesToProcess)
{
unsigned i = 0;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
// Only use the SSE optimization in the very common case that all addresses are 16-byte aligned.
// Otherwise, fall through to the scalar code below.
if (!(reinterpret_cast<uintptr_t>(real1P) & 0x0F)
@@ -531,7 +531,7 @@ void vsvesq(const float* sourceP, int sourceStride, float* sumP, size_t framesTo
int n = framesToProcess;
float sum = 0;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
if (sourceStride == 1) {
// If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed separately.
while ((reinterpret_cast<uintptr_t>(sourceP) & 0x0F) && n) {
@@ -596,7 +596,7 @@ void vmaxmgv(const float* sourceP, int sourceStride, float* maxP, size_t framesT
int n = framesToProcess;
float max = 0;
-#ifdef __SSE2__
+#if CPU(X86_SSE2)
if (sourceStride == 1) {
// If the sourceP address is not 16-byte aligned, the first several frames (at most three) should be processed separately.
while ((reinterpret_cast<uintptr_t>(sourceP) & 0x0F) && n) {
diff --git a/Source/WebCore/platform/qt/FileSystemQt.cpp b/Source/WebCore/platform/qt/FileSystemQt.cpp
index 97be786d4..363029406 100644
--- a/Source/WebCore/platform/qt/FileSystemQt.cpp
+++ b/Source/WebCore/platform/qt/FileSystemQt.cpp
@@ -251,7 +251,7 @@ int writeToFile(PlatformFileHandle handle, const char* data, int length)
bool unloadModule(PlatformModule module)
{
-#if defined(Q_WS_MAC)
+#if defined(Q_OS_MAC)
CFRelease(module);
return true;
diff --git a/Source/WebCore/platform/qt/RenderThemeQStyle.cpp b/Source/WebCore/platform/qt/RenderThemeQStyle.cpp
index b9c6953fa..7373acca7 100644
--- a/Source/WebCore/platform/qt/RenderThemeQStyle.cpp
+++ b/Source/WebCore/platform/qt/RenderThemeQStyle.cpp
@@ -136,7 +136,7 @@ RenderThemeQStyle::RenderThemeQStyle(Page* page)
{
int buttonPixelSize = 0;
m_qStyle->getButtonMetrics(&m_buttonFontFamily, &buttonPixelSize);
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
m_buttonFontPixelSize = buttonPixelSize;
#endif
}
@@ -294,7 +294,7 @@ void RenderThemeQStyle::adjustButtonStyle(StyleResolver& styleResolver, RenderSt
// Ditch the border.
style.resetBorder();
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
if (style.appearance() == PushButtonPart) {
// The Mac ports ignore the specified height for <input type="button"> elements
// unless a border and/or background CSS property is also specified.
@@ -305,7 +305,7 @@ void RenderThemeQStyle::adjustButtonStyle(StyleResolver& styleResolver, RenderSt
FontCascadeDescription fontDescription = style.fontDescription();
fontDescription.setIsAbsoluteSize(true);
-#ifdef Q_WS_MAC // Use fixed font size and family on Mac (like Safari does)
+#ifdef Q_OS_MAC // Use fixed font size and family on Mac (like Safari does)
fontDescription.setSpecifiedSize(m_buttonFontPixelSize);
fontDescription.setComputedSize(m_buttonFontPixelSize);
#else
@@ -607,6 +607,11 @@ ControlPart RenderThemeQStyle::initializeCommonQStyleOptions(QStyleFacadeOption
option.state &= ~(QStyleFacade::State_HasFocus | QStyleFacade::State_MouseOver);
option.state |= QStyleFacade::State_Enabled;
+#ifdef Q_OS_MAC
+ // to render controls in correct positions we also should set the State_Active flag
+ option.state |= QStyleFacade::State_Active;
+#endif
+
if (isReadOnlyControl(o))
// Readonly is supported on textfields.
option.state |= QStyleFacade::State_ReadOnly;
diff --git a/Source/WebCore/rendering/SimpleLineLayout.cpp b/Source/WebCore/rendering/SimpleLineLayout.cpp
index f35f61465..9a2ef6a18 100644
--- a/Source/WebCore/rendering/SimpleLineLayout.cpp
+++ b/Source/WebCore/rendering/SimpleLineLayout.cpp
@@ -532,6 +532,7 @@ public:
}
bool operator!=(const FragmentForwardIterator& other) const { return m_fragmentIndex != other.m_fragmentIndex; }
+ bool operator==(const FragmentForwardIterator& other) const { return m_fragmentIndex == other.m_fragmentIndex; }
unsigned operator*() const { return m_fragmentIndex; }
private:
diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake
index 85b427b36..30b1a377a 100644
--- a/Source/WebKit/PlatformQt.cmake
+++ b/Source/WebKit/PlatformQt.cmake
@@ -659,15 +659,6 @@ if (MSVC)
${DERIVED_SOURCES_WEBKIT_DIR}
)
- set(WebKit_POST_BUILD_COMMAND "${DERIVED_SOURCES_WEBKIT_DIR}/postBuild.cmd")
- file(WRITE "${WebKit_POST_BUILD_COMMAND}" "@xcopy /y /d /i /f \"${CMAKE_CURRENT_SOURCE_DIR}/qt/Api/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebkit\" >nul 2>nul\n")
- file(APPEND "${WebKit_POST_BUILD_COMMAND}" "@xcopy /y /d /i /f \"${CMAKE_CURRENT_SOURCE_DIR}/qt/WidgetApi/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebkitWidgets\" >nul 2>nul\n")
- add_custom_command(TARGET WebKit POST_BUILD
- COMMAND ${WebKit_POST_BUILD_COMMAND}
- VERBATIM
- DEPENDS ${WebKit_POST_BUILD_COMMAND}
- )
-
ADD_PRECOMPILED_HEADER("WebKitWidgetsPrefix.h" "qt/WebKitWidgetsPrefix.cpp" WebKitWidgets_SOURCES)
endif ()
diff --git a/Source/WebKit/qt/Api/qwebhistory.cpp b/Source/WebKit/qt/Api/qwebhistory.cpp
index d270c2cc3..6c5934156 100644
--- a/Source/WebKit/qt/Api/qwebhistory.cpp
+++ b/Source/WebKit/qt/Api/qwebhistory.cpp
@@ -295,11 +295,9 @@ void QWebHistory::clear()
lst->setCapacity(0);
lst->setCapacity(capacity); //revert capacity
- // FIXME: check me
- WebCore::HistoryItem* currentPtr = current.leakRef();
- if (currentPtr) {
- lst->addItem(*currentPtr); //insert old current item
- lst->goToItem(currentPtr); //and set it as current again
+ if (current) {
+ lst->addItem(*current); // insert old current item
+ lst->goToItem(current.get()); // and set it as current again
}
d->page()->updateNavigationActions();
@@ -583,7 +581,7 @@ QDataStream& operator>>(QDataStream& source, QWebHistory& history)
if (version != HistoryStreamVersion) {
// We do not try to decode previous history stream versions.
// Make sure that our history is cleared and mark the rest of the stream as invalid.
- ASSERT(history.count() == 1);
+ ASSERT(history.count() <= 1);
source.setStatus(QDataStream::ReadCorruptData);
return source;
}
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
index 9fcddeb55..62b2f38be 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
@@ -398,6 +398,11 @@ QWebElement QWebFrameAdapter::documentElement() const
return QWebElement(doc->documentElement());
}
+QWebElement QWebFrameAdapter::ownerElement() const
+{
+ return QWebElement(frame->ownerElement());
+}
+
QString QWebFrameAdapter::title() const
{
if (frame->document())
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h
index 026b2fb26..42e02459d 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h
+++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h
@@ -151,6 +151,7 @@ public:
QWebHitTestResultPrivate* hitTestContent(const QPoint&) const;
QWebElement documentElement() const;
+ QWebElement ownerElement() const;
QString title() const;
void clearCoreFrame();
QUrl baseUrl() const;
diff --git a/Source/WebKit/qt/WidgetApi/qwebframe.cpp b/Source/WebKit/qt/WidgetApi/qwebframe.cpp
index b62557eb1..30a58de5d 100644
--- a/Source/WebKit/qt/WidgetApi/qwebframe.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebframe.cpp
@@ -760,6 +760,11 @@ QWebElement QWebFrame::documentElement() const
return d->documentElement();
}
+QWebElement QWebFrame::ownerElement() const
+{
+ return d->ownerElement();
+}
+
/*!
\since 4.6
Returns a new list of elements matching the given CSS selector \a selectorQuery.
diff --git a/Source/WebKit/qt/WidgetApi/qwebframe.h b/Source/WebKit/qt/WidgetApi/qwebframe.h
index 1c3cb07c3..a3374ff13 100644
--- a/Source/WebKit/qt/WidgetApi/qwebframe.h
+++ b/Source/WebKit/qt/WidgetApi/qwebframe.h
@@ -197,6 +197,7 @@ public:
QSize contentsSize() const;
QWebElement documentElement() const;
+ QWebElement ownerElement() const;
QWebElementCollection findAllElements(const QString &selectorQuery) const;
QWebElement findFirstElement(const QString &selectorQuery) const;
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
index 5d2c315b4..b46d92c3d 100644
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -3,27 +3,6 @@ include(ECMPackageConfigHelpers)
include(ECMQueryQmake)
set(ECM_MODULE_DIR ${CMAKE_MODULE_PATH})
-include(KDEInstallDirs)
-
-set(QT_CONAN_DIR "" CACHE PATH "Directory containing conanbuildinfo.cmake and conanfile.txt")
-if (QT_CONAN_DIR)
- include("${QT_CONAN_DIR}/conanbuildinfo.cmake")
- conan_basic_setup()
-
- install(CODE "
- set(_conan_imports_dest \${CMAKE_INSTALL_PREFIX})
- if (DEFINED ENV{DESTDIR})
- get_filename_component(_absolute_destdir \$ENV{DESTDIR} ABSOLUTE)
- string(REGEX REPLACE \"^[A-z]:\" \"\" _conan_imports_dest \${CMAKE_INSTALL_PREFIX})
- set(_conan_imports_dest \"\${_absolute_destdir}\${_conan_imports_dest}\")
- endif ()
-
- execute_process(
- COMMAND conan imports -f \"${QT_CONAN_DIR}/conanfile.txt\" --dest \${_conan_imports_dest}
- WORKING_DIRECTORY \"${QT_CONAN_DIR}\"
- )
- ")
-endif ()
set(STATIC_DEPENDENCIES_CMAKE_FILE "${CMAKE_BINARY_DIR}/QtStaticDependencies.cmake")
if (EXISTS ${STATIC_DEPENDENCIES_CMAKE_FILE})
@@ -652,3 +631,34 @@ endif ()
set_package_properties(Ruby PROPERTIES TYPE REQUIRED)
set_package_properties(Qt5PrintSupport PROPERTIES PURPOSE "Required for ENABLE_PRINT_SUPPORT=ON")
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
+query_qmake(qt_install_prefix_dir QT_INSTALL_PREFIX)
+if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ set(CMAKE_INSTALL_PREFIX "${qt_install_prefix_dir}" CACHE PATH "Install path prefix, prepended onto install directories." FORCE)
+endif ()
+
+include(KDEInstallDirs)
+
+if (NOT qt_install_prefix_dir STREQUAL "${CMAKE_INSTALL_PREFIX}")
+ set(KDE_INSTALL_USE_QT_SYS_PATHS OFF)
+endif ()
+
+set(QT_CONAN_DIR "" CACHE PATH "Directory containing conanbuildinfo.cmake and conanfile.txt")
+if (QT_CONAN_DIR)
+ include("${QT_CONAN_DIR}/conanbuildinfo.cmake")
+ conan_basic_setup()
+
+ install(CODE "
+ set(_conan_imports_dest \${CMAKE_INSTALL_PREFIX})
+ if (DEFINED ENV{DESTDIR})
+ get_filename_component(_absolute_destdir \$ENV{DESTDIR} ABSOLUTE)
+ string(REGEX REPLACE \"^[A-z]:\" \"\" _conan_imports_dest \${CMAKE_INSTALL_PREFIX})
+ set(_conan_imports_dest \"\${_absolute_destdir}\${_conan_imports_dest}\")
+ endif ()
+
+ execute_process(
+ COMMAND conan imports -f \"${QT_CONAN_DIR}/conanfile.txt\" --dest \${_conan_imports_dest}
+ WORKING_DIRECTORY \"${QT_CONAN_DIR}\"
+ )
+ ")
+endif ()
diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
index dd1625bf5..53f294abb 100644
--- a/Source/cmake/WebKitMacros.cmake
+++ b/Source/cmake/WebKitMacros.cmake
@@ -318,8 +318,7 @@ macro(WEBKIT_CREATE_FORWARDING_HEADER _target_directory _file)
endmacro()
macro(WEBKIT_CREATE_FORWARDING_HEADERS _framework)
- # On Windows, we copy the entire contents of forwarding headers.
- if (NOT MSVC)
+ if (NOT ${PORT} STREQUAL "Win")
set(_processing_directories 0)
set(_processing_files 0)
set(_target_directory "${DERIVED_SOURCES_DIR}/ForwardingHeaders/${_framework}")
diff --git a/Tools/qmake/projects/run_cmake.pro b/Tools/qmake/projects/run_cmake.pro
index 14c248ced..75934e687 100644
--- a/Tools/qmake/projects/run_cmake.pro
+++ b/Tools/qmake/projects/run_cmake.pro
@@ -27,7 +27,6 @@ build_pass|!debug_and_release {
CMAKE_BUILD_TYPE=$$configuration \
CMAKE_TOOLCHAIN_FILE=$$toolchain_file \
CMAKE_PREFIX_PATH=\"$$[QT_INSTALL_PREFIX];$$ROOT_QT_BUILD_DIR/qtbase;$$ROOT_QT_BUILD_DIR/qtlocation;$$ROOT_QT_BUILD_DIR/qtsensors\" \
- CMAKE_INSTALL_PREFIX=\"$$[QT_INSTALL_PREFIX]\" \
USE_LIBHYPHEN=OFF
static: CMAKE_CONFIG += USE_THIN_ARCHIVES=OFF