summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2016-11-22 08:08:05 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:31:16 +0000
commit1c8f056531c65706b85c44c2db657ea891be868d (patch)
tree29c2cd2bf06230e9e76945990ef9c0e70cfb483e
parent8f2cfe80a5fb6632b4bbb9181db28f0505058128 (diff)
Imported WebKit commit a16099e901e36e6d298dd30c0694a2130052d70e
Change-Id: I484731400983d1d964bdcf4afc4007f41ca1bb8a Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
-rw-r--r--Source/WebCore/bindings/scripts/preprocessor.pm11
-rw-r--r--Source/WebCore/css/makegrammar.pl4
-rw-r--r--Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp6
-rw-r--r--Source/cmake/OptionsQt.cmake2
-rw-r--r--Source/cmake/WebKitFeatures.cmake2
-rw-r--r--Source/cmake/WebKitMacros.cmake2
-rw-r--r--Tools/PlatformQt.cmake12
-rw-r--r--Tools/qmake/projects/run_cmake.pro29
8 files changed, 49 insertions, 19 deletions
diff --git a/Source/WebCore/bindings/scripts/preprocessor.pm b/Source/WebCore/bindings/scripts/preprocessor.pm
index a34e8461b..5d9376d65 100644
--- a/Source/WebCore/bindings/scripts/preprocessor.pm
+++ b/Source/WebCore/bindings/scripts/preprocessor.pm
@@ -24,6 +24,7 @@ use warnings;
use Config;
use IPC::Open2;
use IPC::Open3;
+use Text::ParseWords;
BEGIN {
use Exporter ();
@@ -59,6 +60,9 @@ sub applyPreprocessor
} else {
push(@args, qw(-E -P -x c++));
}
+ } else {
+ @args = shellwords($preprocessor);
+ $preprocessor = shift @args;
}
if ($Config::Config{"osname"} eq "darwin") {
@@ -99,9 +103,12 @@ sub applyPreprocessor
}
};
} elsif ($Config::Config{"osname"} eq "MSWin32") {
- $pid = open2(\*PP_OUT, \*PP_IN, $preprocessor, @args, @macros, $fileName);
+ # Suppress STDERR so that if we're using cl.exe, the output
+ # name isn't needlessly echoed.
+ use Symbol 'gensym'; my $err = gensym;
+ $pid = open3(\*PP_IN, \*PP_OUT, $err, $preprocessor, @args, @macros, $fileName);
} else {
- $pid = open2(\*PP_OUT, \*PP_IN, split(' ', $preprocessor), @args, @macros, $fileName);
+ $pid = open2(\*PP_OUT, \*PP_IN, $preprocessor, @args, @macros, $fileName);
}
close PP_IN;
my @documentContent = <PP_OUT>;
diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl
index 47cbc2f47..5d63b0810 100644
--- a/Source/WebCore/css/makegrammar.pl
+++ b/Source/WebCore/css/makegrammar.pl
@@ -73,7 +73,9 @@ if ($suffix eq ".y.in") {
}
my $fileBase = File::Spec->join($outputDir, $filename);
-system("\"$bison\" -d -p $symbolsPrefix $grammarFilePath -o $fileBase.cpp");
+my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
+system(@bisonCommand) == 0 or die;
open HEADER, ">$fileBase.h" or die;
print HEADER << "EOF";
diff --git a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index 69c72309f..e94367287 100644
--- a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -70,7 +70,11 @@ bool FormDataIODevice::reset()
m_currentFile->close();
m_currentDelta = 0;
- m_formElements = m_formData->elements();
+
+ if (m_formData)
+ m_formElements = m_formData->elements();
+ else
+ m_formElements.clear();
prepareCurrentElement();
return true;
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
index 68d95e1e5..378158615 100644
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -319,7 +319,7 @@ list(APPEND QT_REQUIRED_COMPONENTS
)
set(QT_OPTIONAL_COMPONENTS OpenGL)
-if (ENABLE_TEST_SUPPORT)
+if (ENABLE_API_TESTS OR ENABLE_TEST_SUPPORT)
list(APPEND QT_REQUIRED_COMPONENTS
Test
)
diff --git a/Source/cmake/WebKitFeatures.cmake b/Source/cmake/WebKitFeatures.cmake
index fe680b181..b52084f48 100644
--- a/Source/cmake/WebKitFeatures.cmake
+++ b/Source/cmake/WebKitFeatures.cmake
@@ -269,7 +269,7 @@ macro(WEBKIT_OPTION_END)
endif ()
option(${_name} "${_WEBKIT_AVAILABLE_OPTIONS_DESCRIPTION_${_name}}" ${_WEBKIT_AVAILABLE_OPTIONS_INITIAL_VALUE_${_name}})
- if (NOT _WEBKIT_AVAILABLE_OPTIONS_IS_PUBLIC_${_name})
+ if (NOT ${_WEBKIT_AVAILABLE_OPTIONS_IS_PUBLIC_${_name}})
mark_as_advanced(FORCE ${_name})
endif ()
endforeach ()
diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
index d7baa6b81..8879ec75a 100644
--- a/Source/cmake/WebKitMacros.cmake
+++ b/Source/cmake/WebKitMacros.cmake
@@ -364,7 +364,7 @@ endmacro()
macro(MAKE_JS_FILE_ARRAYS _output_cpp _output_h _scripts _scripts_dependencies)
if (WIN32)
- set(_python_path set "PYTHONPATH=${JavaScriptCore_SCRIPTS_DIR}" COMMAND)
+ set(_python_path set "PYTHONPATH=${JavaScriptCore_SCRIPTS_DIR}" &&)
else ()
set(_python_path "PYTHONPATH=${JavaScriptCore_SCRIPTS_DIR}")
endif ()
diff --git a/Tools/PlatformQt.cmake b/Tools/PlatformQt.cmake
index 4894e4b69..5b1783887 100644
--- a/Tools/PlatformQt.cmake
+++ b/Tools/PlatformQt.cmake
@@ -1,6 +1,10 @@
-add_subdirectory(DumpRenderTree)
-add_subdirectory(ImageDiff)
-if (ENABLE_TEST_SUPPORT)
+add_subdirectory(QtTestBrowser)
+
+if (ENABLE_API_TESTS)
add_subdirectory(TestWebKitAPI)
- add_subdirectory(QtTestBrowser)
+endif ()
+
+if (ENABLE_TEST_SUPPORT)
+ add_subdirectory(DumpRenderTree)
+ add_subdirectory(ImageDiff)
endif ()
diff --git a/Tools/qmake/projects/run_cmake.pro b/Tools/qmake/projects/run_cmake.pro
index d564ad262..55e4ccc17 100644
--- a/Tools/qmake/projects/run_cmake.pro
+++ b/Tools/qmake/projects/run_cmake.pro
@@ -20,38 +20,51 @@ build_pass|!debug_and_release {
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]\" \
- KDE_INSTALL_LIBDIR=\"$$relative_path($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])\" \
+ ENABLE_TEST_SUPPORT=OFF \
USE_LIBHYPHEN=OFF
QT_FOR_CONFIG += gui-private
!qtConfig(system-jpeg):exists($$QTBASE_DIR) {
CMAKE_CONFIG += \
QT_BUNDLED_JPEG=1 \
- JPEG_INCLUDE_DIR=$$system_path($$QTBASE_DIR/src/3rdparty/libjpeg) \
- JPEG_LIBRARIES=$$system_path($$ROOT_BUILD_DIR/lib/libqtjpeg.$$QMAKE_EXTENSION_STATICLIB)
+ JPEG_INCLUDE_DIR=$$QTBASE_DIR/src/3rdparty/libjpeg \
+ JPEG_LIBRARIES=$$ROOT_BUILD_DIR/lib/$${QMAKE_PREFIX_STATICLIB}qtjpeg.$$QMAKE_EXTENSION_STATICLIB
}
!qtConfig(system-png):qtConfig(png):exists($$QTBASE_DIR) {
CMAKE_CONFIG += \
QT_BUNDLED_PNG=1 \
- PNG_INCLUDE_DIRS=$$system_path($$QTBASE_DIR/src/3rdparty/libpng) \
- PNG_LIBRARIES=$$system_path($$ROOT_BUILD_DIR/lib/libqtpng.$$QMAKE_EXTENSION_STATICLIB)
+ PNG_INCLUDE_DIRS=$$QTBASE_DIR/src/3rdparty/libpng \
+ PNG_LIBRARIES=$$ROOT_BUILD_DIR/lib/$${QMAKE_PREFIX_STATICLIB}qtpng.$$QMAKE_EXTENSION_STATICLIB
}
!qtConfig(system-zlib):exists($$QTBASE_DIR) {
CMAKE_CONFIG += \
QT_BUNDLED_ZLIB=1 \
- ZLIB_INCLUDE_DIRS=$$system_path($$QTBASE_DIR/src/3rdparty/zlib)
+ ZLIB_INCLUDE_DIRS=$$QTBASE_DIR/src/3rdparty/zlib
}
- equals(QMAKE_HOST.os, Windows): cmake_args += "-G \"NMake Makefiles JOM\""
+ equals(QMAKE_HOST.os, Windows) {
+ if(equals(MAKEFILE_GENERATOR, MSVC.NET)|equals(MAKEFILE_GENERATOR, MSBUILD)) {
+ cmake_generator = "NMake Makefiles JOM"
+ } else: if(equals(MAKEFILE_GENERATOR, MINGW)) {
+ cmake_generator = "MinGW Makefiles"
+ } else {
+ cmake_generator = "Unix Makefiles"
+ }
+ cmake_args += "-G \"$$cmake_generator\""
+ }
!silent: make_args += "VERBOSE=1"
# Append additional platform options defined in CMAKE_CONFIG
for (config, CMAKE_CONFIG): cmake_args += "-D$$config"
- cmake_cmd_base = "$$QMAKE_MKDIR $$cmake_build_dir && cd $$cmake_build_dir &&"
+ !exists($$cmake_build_dir) {
+ !system("$$QMAKE_MKDIR $$cmake_build_dir"): error("Failed to create cmake build directory")
+ }
+
+ cmake_cmd_base = "cd $$cmake_build_dir &&"
log("$${EOL}Running $$cmake_env cmake $$ROOT_WEBKIT_DIR $$cmake_args $${EOL}$${EOL}")
!system("$$cmake_cmd_base $$cmake_env cmake $$ROOT_WEBKIT_DIR $$cmake_args"): error("Running cmake failed")