diff options
Diffstat (limited to 'Source/WebKit')
-rw-r--r-- | Source/WebKit/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Source/WebKit/PlatformQt.cmake | 2 | ||||
-rw-r--r-- | Source/WebKit/qt/declarative/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Source/WebKit/qt/declarative/experimental/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Source/WebKit/qt/tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Source/WebKit/win/Plugins/PluginDatabaseWin.cpp | 41 | ||||
-rw-r--r-- | Source/WebKit/win/Plugins/PluginPackageWin.cpp | 14 | ||||
-rw-r--r-- | Source/WebKit/win/Plugins/PluginViewWin.cpp | 5 |
8 files changed, 38 insertions, 32 deletions
diff --git a/Source/WebKit/CMakeLists.txt b/Source/WebKit/CMakeLists.txt index edc22fee9..82dc1e662 100644 --- a/Source/WebKit/CMakeLists.txt +++ b/Source/WebKit/CMakeLists.txt @@ -60,7 +60,7 @@ if (${PORT} STREQUAL "Qt") DESTINATION "${LIB_INSTALL_DIR}" RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ) - if (MSVC) + if (MSVC AND NOT QT_STATIC_BUILD) install(FILES $<TARGET_PDB_FILE:WebKit> DESTINATION "${BIN_INSTALL_DIR}" OPTIONAL) endif () diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake index da199aeaf..3e50b2552 100644 --- a/Source/WebKit/PlatformQt.cmake +++ b/Source/WebKit/PlatformQt.cmake @@ -758,7 +758,7 @@ install(TARGETS WebKitWidgets EXPORT Qt5WebKitWidgetsTargets DESTINATION "${LIB_INSTALL_DIR}" RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ) -if (MSVC) +if (MSVC AND NOT QT_STATIC_BUILD) install(FILES $<TARGET_PDB_FILE:WebKitWidgets> DESTINATION "${BIN_INSTALL_DIR}" OPTIONAL) endif () diff --git a/Source/WebKit/qt/declarative/CMakeLists.txt b/Source/WebKit/qt/declarative/CMakeLists.txt index 6a76e88b5..e1ba22bc1 100644 --- a/Source/WebKit/qt/declarative/CMakeLists.txt +++ b/Source/WebKit/qt/declarative/CMakeLists.txt @@ -38,6 +38,8 @@ set_target_properties(qmlwebkitplugin PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${qmlwebkit_output_dir} LIBRARY_OUTPUT_DIRECTORY_RELEASE ${qmlwebkit_output_dir} RUNTIME_OUTPUT_DIRECTORY_RELEASE ${qmlwebkit_output_dir} + + AUTOMOC ON ) add_custom_target( diff --git a/Source/WebKit/qt/declarative/experimental/CMakeLists.txt b/Source/WebKit/qt/declarative/experimental/CMakeLists.txt index e4d41798c..1526e6f47 100644 --- a/Source/WebKit/qt/declarative/experimental/CMakeLists.txt +++ b/Source/WebKit/qt/declarative/experimental/CMakeLists.txt @@ -15,6 +15,8 @@ set_target_properties(qmlwebkitexperimentalplugin PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${qmlwebkitexperimental_output_dir} LIBRARY_OUTPUT_DIRECTORY_RELEASE ${qmlwebkitexperimental_output_dir} RUNTIME_OUTPUT_DIRECTORY_RELEASE ${qmlwebkitexperimental_output_dir} + + AUTOMOC ON ) add_custom_target( diff --git a/Source/WebKit/qt/tests/CMakeLists.txt b/Source/WebKit/qt/tests/CMakeLists.txt index 4fd45c624..3dc6af1d5 100644 --- a/Source/WebKit/qt/tests/CMakeLists.txt +++ b/Source/WebKit/qt/tests/CMakeLists.txt @@ -57,7 +57,7 @@ foreach (testName ${QtWK1ApiTests}) add_executable(tst_${testName} ${tst_${testName}_SOURCES}) target_include_directories(tst_${testName} PRIVATE ${testName}) target_link_libraries(tst_${testName} ${QtWK1ApiTests_LIBRARIES}) - set_target_properties(tst_${testName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${QtWK1ApiTests_RUNTIME_OUTPUT_DIRECTORY}) + set_target_properties(tst_${testName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${QtWK1ApiTests_RUNTIME_OUTPUT_DIRECTORY} AUTOMOC ON) add_test(${testName} "${QtWK1ApiTests_RUNTIME_OUTPUT_DIRECTORY}/tst_${testName}") set_tests_properties(${testName} PROPERTIES TIMEOUT 60) diff --git a/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp b/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp index ea272601b..8230a793c 100644 --- a/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp +++ b/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp @@ -32,6 +32,7 @@ #include "URL.h" #include "PluginPackage.h" #include <wtf/WindowsExtras.h> +#include <wtf/text/win/WCharStringExtras.h> namespace WebCore { @@ -62,7 +63,7 @@ static inline void addPluginPathsFromRegistry(HKEY rootKey, HashSet<String>& pat if (result != ERROR_SUCCESS || type != REG_SZ) continue; - paths.add(String(pathStr, pathStrSize / sizeof(WCHAR) - 1)); + paths.add(wcharToString(pathStr, pathStrSize / sizeof(WCHAR) - 1)); } RegCloseKey(key); @@ -83,7 +84,7 @@ void PluginDatabase::getPluginPathsInDirectories(HashSet<String>& paths) const for (Vector<String>::const_iterator it = m_pluginDirectories.begin(); it != end; ++it) { String pattern = *it + "\\*"; - hFind = FindFirstFileW(pattern.charactersWithNullTermination().data(), &findFileData); + hFind = FindFirstFileW(stringToNullTerminatedWChar(pattern).data(), &findFileData); if (hFind == INVALID_HANDLE_VALUE) continue; @@ -92,7 +93,7 @@ void PluginDatabase::getPluginPathsInDirectories(HashSet<String>& paths) const if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; - String filename = String(findFileData.cFileName, wcslen(findFileData.cFileName)); + String filename = wcharToString(findFileData.cFileName, wcslen(findFileData.cFileName)); if ((!filename.startsWith("np", false) || !filename.endsWith("dll", false)) && (!equalLettersIgnoringASCIICase(filename, "plugin.dll") || !it->endsWith("Shockwave 10", false))) continue; @@ -179,11 +180,11 @@ static inline void addMozillaPluginDirectories(Vector<String>& directories) if (result != ERROR_SUCCESS) break; - String extensionsPath = String(name, nameLen) + "\\Extensions"; + String extensionsPath = wcharToString(name, nameLen) + "\\Extensions"; HKEY extensionsKey; // Try opening the key - result = RegOpenKeyEx(key, extensionsPath.charactersWithNullTermination().data(), 0, KEY_READ, &extensionsKey); + result = RegOpenKeyEx(key, stringToNullTerminatedWChar(extensionsPath).data(), 0, KEY_READ, &extensionsKey); if (result == ERROR_SUCCESS) { // Now get the plugins directory @@ -194,7 +195,7 @@ static inline void addMozillaPluginDirectories(Vector<String>& directories) result = RegQueryValueEx(extensionsKey, TEXT("Plugins"), 0, &type, (LPBYTE)&pluginsDirectoryStr, &pluginsDirectorySize); if (result == ERROR_SUCCESS && type == REG_SZ) - directories.append(String(pluginsDirectoryStr, pluginsDirectorySize / sizeof(WCHAR) - 1)); + directories.append(wcharToString(pluginsDirectoryStr, pluginsDirectorySize / sizeof(WCHAR) - 1)); RegCloseKey(extensionsKey); } @@ -211,7 +212,7 @@ static inline void addWindowsMediaPlayerPluginDirectory(Vector<String>& director DWORD pluginDirectorySize = ::ExpandEnvironmentStringsW(TEXT("%SYSTEMDRIVE%\\PFiles\\Plugins"), pluginDirectoryStr, WTF_ARRAY_LENGTH(pluginDirectoryStr)); if (pluginDirectorySize > 0 && pluginDirectorySize <= WTF_ARRAY_LENGTH(pluginDirectoryStr)) - directories.append(String(pluginDirectoryStr, pluginDirectorySize - 1)); + directories.append(wcharToString(pluginDirectoryStr, pluginDirectorySize - 1)); DWORD type; WCHAR installationDirectoryStr[_MAX_PATH]; @@ -220,7 +221,7 @@ static inline void addWindowsMediaPlayerPluginDirectory(Vector<String>& director HRESULT result = getRegistryValue(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\MediaPlayer", L"Installation Directory", &type, &installationDirectoryStr, &installationDirectorySize); if (result == ERROR_SUCCESS && type == REG_SZ) - directories.append(String(installationDirectoryStr, installationDirectorySize / sizeof(WCHAR) - 1)); + directories.append(wcharToString(installationDirectoryStr, installationDirectorySize / sizeof(WCHAR) - 1)); } static inline void addAdobeAcrobatPluginDirectory(Vector<String>& directories) @@ -244,10 +245,10 @@ static inline void addAdobeAcrobatPluginDirectory(Vector<String>& directories) if (result != ERROR_SUCCESS) break; - Vector<int> acrobatVersion = parseVersionString(String(name, nameLen)); + Vector<int> acrobatVersion = parseVersionString(wcharToString(name, nameLen)); if (compareVersions(acrobatVersion, latestAcrobatVersion)) { latestAcrobatVersion = acrobatVersion; - latestAcrobatVersionString = String(name, nameLen); + latestAcrobatVersionString = wcharToString(name, nameLen); } } @@ -257,10 +258,10 @@ static inline void addAdobeAcrobatPluginDirectory(Vector<String>& directories) DWORD acrobatInstallPathSize = sizeof(acrobatInstallPathStr); String acrobatPluginKeyPath = "Software\\Adobe\\Acrobat Reader\\" + latestAcrobatVersionString + "\\InstallPath"; - result = getRegistryValue(HKEY_LOCAL_MACHINE, acrobatPluginKeyPath.charactersWithNullTermination().data(), 0, &type, acrobatInstallPathStr, &acrobatInstallPathSize); + result = getRegistryValue(HKEY_LOCAL_MACHINE, stringToNullTerminatedWChar(acrobatPluginKeyPath).data(), 0, &type, acrobatInstallPathStr, &acrobatInstallPathSize); if (result == ERROR_SUCCESS) { - String acrobatPluginDirectory = String(acrobatInstallPathStr, acrobatInstallPathSize / sizeof(WCHAR) - 1) + "\\browser"; + String acrobatPluginDirectory = wcharToString(acrobatInstallPathStr, acrobatInstallPathSize / sizeof(WCHAR) - 1) + "\\browser"; directories.append(acrobatPluginDirectory); } } @@ -289,10 +290,10 @@ static inline void addJavaPluginDirectory(Vector<String>& directories) if (result != ERROR_SUCCESS) break; - Vector<int> javaVersion = parseVersionString(String(name, nameLen)); + Vector<int> javaVersion = parseVersionString(wcharToString(name, nameLen)); if (compareVersions(javaVersion, latestJavaVersion)) { latestJavaVersion = javaVersion; - latestJavaVersionString = String(name, nameLen); + latestJavaVersionString = wcharToString(name, nameLen); } } @@ -304,12 +305,12 @@ static inline void addJavaPluginDirectory(Vector<String>& directories) DWORD useNewPluginSize; String javaPluginKeyPath = "Software\\JavaSoft\\Java Plug-in\\" + latestJavaVersionString; - result = getRegistryValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination().data(), L"UseNewJavaPlugin", &type, &useNewPluginValue, &useNewPluginSize); + result = getRegistryValue(HKEY_LOCAL_MACHINE, stringToNullTerminatedWChar(javaPluginKeyPath).data(), L"UseNewJavaPlugin", &type, &useNewPluginValue, &useNewPluginSize); if (result == ERROR_SUCCESS && useNewPluginValue == 1) { - result = getRegistryValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination().data(), L"JavaHome", &type, javaInstallPathStr, &javaInstallPathSize); + result = getRegistryValue(HKEY_LOCAL_MACHINE, stringToNullTerminatedWChar(javaPluginKeyPath).data(), L"JavaHome", &type, javaInstallPathStr, &javaInstallPathSize); if (result == ERROR_SUCCESS) { - String javaPluginDirectory = String(javaInstallPathStr, javaInstallPathSize / sizeof(WCHAR) - 1) + "\\bin\\new_plugin"; + String javaPluginDirectory = wcharToString(javaInstallPathStr, javaInstallPathSize / sizeof(WCHAR) - 1) + "\\bin\\new_plugin"; directories.append(javaPluginDirectory); } } @@ -335,7 +336,7 @@ static inline String safariPluginsDirectory() if (!PathRemoveFileSpec(moduleFileNameStr)) goto exit; - pluginsDirectory = String(moduleFileNameStr) + "\\Plugins"; + pluginsDirectory = nullTerminatedWCharToString(moduleFileNameStr) + "\\Plugins"; } exit: return pluginsDirectory; @@ -351,10 +352,10 @@ static inline void addMacromediaPluginDirectories(Vector<String>& directories) WCHAR macromediaDirectoryStr[MAX_PATH]; PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Flash")); - directories.append(macromediaDirectoryStr); + directories.append(nullTerminatedWCharToString(macromediaDirectoryStr)); PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Shockwave 10")); - directories.append(macromediaDirectoryStr); + directories.append(nullTerminatedWCharToString(macromediaDirectoryStr)); } #if PLATFORM(QT) diff --git a/Source/WebKit/win/Plugins/PluginPackageWin.cpp b/Source/WebKit/win/Plugins/PluginPackageWin.cpp index 7119d8854..e0094b96b 100644 --- a/Source/WebKit/win/Plugins/PluginPackageWin.cpp +++ b/Source/WebKit/win/Plugins/PluginPackageWin.cpp @@ -34,10 +34,11 @@ #include "PluginDebug.h" #include "Timer.h" #include "npruntime_impl.h" +#include <shlwapi.h> #include <string.h> #include <wtf/StdLibExtras.h> #include <wtf/text/CString.h> -#include <shlwapi.h> +#include <wtf/text/win/WCharStringExtras.h> namespace WebCore { @@ -47,7 +48,7 @@ static String getVersionInfo(const LPVOID versionInfoData, const String& info) UINT bufferLength; String subInfo = "\\StringfileInfo\\040904E4\\" + info; bool retval = VerQueryValueW(versionInfoData, - const_cast<UChar*>(subInfo.charactersWithNullTermination().data()), + stringToNullTerminatedWChar(subInfo).data(), &buffer, &bufferLength); if (!retval || bufferLength == 0) return String(); @@ -167,14 +168,13 @@ void PluginPackage::determineQuirks(const String& mimeType) bool PluginPackage::fetchInfo() { DWORD versionInfoSize, zeroHandle; - versionInfoSize = GetFileVersionInfoSizeW(const_cast<UChar*>(m_path.charactersWithNullTermination().data()), &zeroHandle); + versionInfoSize = GetFileVersionInfoSizeW(stringToNullTerminatedWChar(m_path).data(), &zeroHandle); if (versionInfoSize == 0) return false; auto versionInfoData = std::make_unique<char[]>(versionInfoSize); - if (!GetFileVersionInfoW(const_cast<UChar*>(m_path.charactersWithNullTermination().data()), - 0, versionInfoSize, versionInfoData.get())) + if (!GetFileVersionInfoW(stringToNullTerminatedWChar(m_path).data(), 0, versionInfoSize, versionInfoData.get())) return false; m_name = getVersionInfo(versionInfoData.get(), "ProductName"); @@ -244,11 +244,11 @@ bool PluginPackage::load() String path = m_path.substring(0, m_path.reverseFind('\\')); - if (!::SetCurrentDirectoryW(path.charactersWithNullTermination().data())) + if (!::SetCurrentDirectoryW(stringToNullTerminatedWChar(path).data())) return false; // Load the library - m_module = ::LoadLibraryExW(m_path.charactersWithNullTermination().data(), 0, LOAD_WITH_ALTERED_SEARCH_PATH); + m_module = ::LoadLibraryExW(stringToNullTerminatedWChar(m_path).data(), 0, LOAD_WITH_ALTERED_SEARCH_PATH); if (!::SetCurrentDirectoryW(currentPath)) { if (m_module) diff --git a/Source/WebKit/win/Plugins/PluginViewWin.cpp b/Source/WebKit/win/Plugins/PluginViewWin.cpp index 68af391fc..a0b41113e 100644 --- a/Source/WebKit/win/Plugins/PluginViewWin.cpp +++ b/Source/WebKit/win/Plugins/PluginViewWin.cpp @@ -71,6 +71,7 @@ #include <runtime/JSLock.h> #include <wtf/ASCIICType.h> #include <wtf/text/WTFString.h> +#include <wtf/text/win/WCharStringExtras.h> #include <wtf/win/GDIObject.h> #if USE(CAIRO) @@ -852,13 +853,13 @@ NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32_t len, const // Get file info WIN32_FILE_ATTRIBUTE_DATA attrs; - if (GetFileAttributesExW(filename.charactersWithNullTermination().data(), GetFileExInfoStandard, &attrs) == 0) + if (!GetFileAttributesExW(stringToNullTerminatedWChar(filename).data(), GetFileExInfoStandard, &attrs)) return NPERR_FILE_NOT_FOUND; if (attrs.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) return NPERR_FILE_NOT_FOUND; - HANDLE fileHandle = CreateFileW(filename.charactersWithNullTermination().data(), FILE_READ_DATA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + HANDLE fileHandle = CreateFileW(stringToNullTerminatedWChar(filename).data(), FILE_READ_DATA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); if (fileHandle == INVALID_HANDLE_VALUE) return NPERR_FILE_NOT_FOUND; |