2021-08-20 Carlos Alberto Lopez Perez REGRESSION(r274166): [GTK] It broke run-javascriptcore-tests causing all tests to use lot of memory https://bugs.webkit.org/show_bug.cgi?id=229321 Unreviewed, reverting r274166 because it caused JSC tests to use too much memory. Reverted changeset: "[GTK] Reenable -fvisibility=hidden" https://bugs.webkit.org/show_bug.cgi?id=181916 https://commits.webkit.org/r274166 * Source/cmake/OptionsGTK.cmake: 2021-08-16 David Kilzer "make analyze" should run clang static analyzer in deep mode Reviewed by Alexey Proskuryakov. * Makefile.shared: - Add "analyze" argument to xcodebuild command when invoking "make analyze" to run clang static analyzer in deep mode. Simplify "make analyze" since $(PATH_TO_SCAN_BUILD) does not need to be set. 2021-08-16 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.3 release * Source/cmake/OptionsGTK.cmake: Bump version numbers. 2021-08-09 Myles C. Maxfield Update logging docs after r280758 https://bugs.webkit.org/show_bug.cgi?id=228899 Reviewed by Fujii Hironori. Add more information about logging. * Introduction.md: 2021-08-05 Michael Catanzaro GCC 11 builds should use -Wno-array-bounds, -Wno-nonnull https://bugs.webkit.org/show_bug.cgi?id=228601 Reviewed by Carlos Garcia Campos. Prior to GCC 11, these were good warnings that could catch serious errors. But GCC 11 has just become too sensitive and it's flagging what appear to be harmless cases, and not providing enough feedback to know why. This has resulted in me littering our code with pragmas to suppress GCC's false positives, and I think it's reached the point where it's nicer to just turn off the warnings until such time that GCC gets this under control, and rely on Clang instead in the meantime. The GCC developers have indicated that these warnings will *always* produce false positives in some circumstances, but with GCC 11 it's just too become too much IMO. * Source/cmake/WebKitCompilerFlags.cmake: 2021-07-30 Adrian Perez de Castro [CMake] Fix fallback methods in the libgcrypt find module https://bugs.webkit.org/show_bug.cgi?id=228581 Reviewed by Carlos Alberto Lopez Perez. * Source/cmake/FindLibGcrypt.cmake: Make sure to use the libgcrypt-config script as first fallback if libgcrypt.pc is not present, and fix the regexp used as last fallback that checks the version from the gcrypt.h header as last fallback to only include digits and periods. 2021-07-29 Myles C. Maxfield Stop building WebGPU and the WHLSL compiler to decrease binary size https://bugs.webkit.org/show_bug.cgi?id=228179 Reviewed by Dean Jackson, Robin Morisset, and Devin Rousso. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWinCairo.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: 2021-07-29 Adrian Perez de Castro [CMake] Fix missing libgpg-error not added to link commands as libgcrypt dep after r280423 https://bugs.webkit.org/show_bug.cgi?id=228581 Reviewed by Carlos Alberto Lopez Perez. * Source/cmake/FindLibGcrypt.cmake: Manually search for libgpg-error, which is not listed in libgcrypt.pc as a dependency, add an imported target for it, and add it as a dependency of LibGcrypt::LibGcrypt to avoid missing symbols at link time. 2021-07-29 Adrian Perez de Castro [CMake] Use an imported target for the libgcrypt library https://bugs.webkit.org/show_bug.cgi?id=228581 Reviewed by Michael Catanzaro. * Source/cmake/FindLibGcrypt.cmake: Replaced find module by a new one which defines a LibGcrypt::LibGcrypt imported target, using more modern CMake constructs. * Source/cmake/OptionsGTK.cmake: Use the LibGcrypt::LibGcrypt imported target. * Source/cmake/OptionsWPE.cmake: Ditto. 2021-07-28 Philippe Normand [WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake https://bugs.webkit.org/show_bug.cgi?id=228290 Reviewed by Michael Catanzaro. The CMake configure_file() is now used only tarball builds for files requiring information about the build revision. For developer builds a custom target now takes care of keeping those files up-to-date. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-07-27 Zan Dobersek [CMake] Add WTF_CPU_RISCV64 https://bugs.webkit.org/show_bug.cgi?id=228322 Reviewed by Adrian Perez de Castro. Define the WTF_CPU_RISCV64 CMake macro when the specified system processor name begins with 'riscv64'. This should also cover potential RISC-V processor names ingrained with specific ISA extensions that are then detectable at compile-time through specified C macros. For WTF_CPU_RISCV64, default to disabling JIT and FTL features at the CMake level until they are properly supported. Defaulting to system malloc can already be avoided, but CLoop is necessary for now. * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFeatures.cmake: 2021-07-25 Michael Catanzaro [GTK] USE_OPENGL_OR_ES should not be an automagic feature https://bugs.webkit.org/show_bug.cgi?id=228266 Reviewed by Fujii Hironori. The USE_OPENGL_OR_ES feature flag added in r271220 is currently automagic: that is, if neither OpenGL nor OpenGL ES is available at build time, it gets silently disabled. This is not OK because it makes it easy for distributors to accidentally fail to enable OpenGL support. We should require manually disabling the feature with -DUSE_OPENGL_OR_ES=OFF in order to build with OpenGL disabled. * Source/cmake/OptionsGTK.cmake: 2021-07-23 Philippe Normand [GLib] Remove libportal dependency https://bugs.webkit.org/show_bug.cgi?id=228056 Reviewed by Carlos Garcia Campos. * Source/cmake/FindLIBPORTAL.cmake: Removed. * Source/cmake/GStreamerChecks.cmake: 2021-07-16 Alexander Mikhaylenko [GTK][WPE] Support color-schemes CSS property https://bugs.webkit.org/show_bug.cgi?id=208204 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsGTK.cmake: Enable HAVE_OS_DARK_MODE_SUPPORT. * Source/cmake/OptionsWPE.cmake: Enable ENABLE_DARK_MODE_CSS and HAVE_OS_DARK_MODE_SUPPORT. 2021-07-15 Philippe Normand Unreviewed, CMake fix-up after r279940 * Source/cmake/FindLIBPORTAL.cmake: Fix libportal detection. 2021-07-15 Philippe Normand [GStreamer][Pipewire] Implement getDisplayMedia() backend https://bugs.webkit.org/show_bug.cgi?id=210926 Reviewed by Xabier Rodriguez-Calvar. * Source/cmake/FindLIBPORTAL.cmake: Added. * Source/cmake/GStreamerChecks.cmake: Enable Pipewire support if libportal was found. 2021-07-13 Michael Catanzaro Remove USE_64KB_PAGE_BLOCK https://bugs.webkit.org/show_bug.cgi?id=227905 Reviewed by Yusuke Suzuki. I added the USE_64KB_PAGE_BLOCK build option in bug #217989 for use by RHEL. But going forward, I don't need it anymore, and can maintain it downstream where it is needed. (This option might also be useful to SUSE, but they already don't use it, so won't miss it.) I've seen users who don't understand the consequences of this option enabling it on x86_64, even though there are serious negative consequences and zero benefits to using it. So let's get rid of it. * Source/cmake/WebKitFeatures.cmake: 2021-07-13 Carlos Garcia Campos [GTK][WPE] Expose support for client certificate auth https://bugs.webkit.org/show_bug.cgi?id=200805 Reviewed by Michael Catanzaro. Bump libsoup3 required version. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-06-24 Zan Dobersek REGRESSION(r236846): WPE shouldn't depend on OpenGL ES 3 https://bugs.webkit.org/show_bug.cgi?id=227289 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsWPE.cmake: Drop the OpenGLES2 package search. None of the possible versions are meaningful because libepoxy is used as the underlying GL relay. 2021-06-24 Martin Robinson [css-scroll-snap] Remove ENABLE_SCROLL_SNAP compile-time option https://bugs.webkit.org/show_bug.cgi?id=227067 Reviewed by Simon Fraser. Remove compile-time ENABLE_SCROLL_SNAP configuration option. * Source/cmake/WebKitFeatures.cmake: Remove the flag from the CMake configuration. 2021-06-21 Fujii Hironori [WinCairo] Turn ENABLE_SHAREABLE_RESOURCE on https://bugs.webkit.org/show_bug.cgi?id=227011 Reviewed by Don Olmstead. * Source/cmake/OptionsWin.cmake: Turned ENABLE_SHAREABLE_RESOURCE on for WinCairo port. 2021-06-18 Sergio Villar Senin Ignore clangd's directory with index files https://bugs.webkit.org/show_bug.cgi?id=227162 Reviewed by Žan Doberšek. clangd stores its indexes in a .cache directory. Let git ignore it. * .gitignore: 2021-06-11 Adrian Perez de Castro Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.2 release * Source/cmake/OptionsWPE.cmake: Bump version numbers. 2021-06-10 Carlos Alberto Lopez Perez [CMake][GTK][WPE] Improve error message when libsoup3 is not found https://bugs.webkit.org/show_bug.cgi?id=226905 Reviewed by Adrian Perez de Castro. When libsoup 3 is not found be more clear about the problem and offer possible workaround to continue the build. * Source/cmake/FindLibSoup.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-06-10 Philippe Normand [WPE] Enable Cog for developer builds https://bugs.webkit.org/show_bug.cgi?id=224360 Reviewed by Adrian Perez de Castro. Cog would be preferred over MiniBrowser for WPE developer builds because it provides a nicer user experience, while keeping the same spirit as MiniBrowser. Pass `-DENABLE_COG=NO` to CMake to disable it and fall back to MiniBrowser. * Source/cmake/OptionsWPE.cmake: 2021-06-08 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.2 release * Source/cmake/OptionsGTK.cmake: Bump version numbers. 2021-06-07 Carlos Garcia Campos [GTK][WPE] Bump libsoup3 version to 2.99.8 https://bugs.webkit.org/show_bug.cgi?id=226713 Reviewed by Philippe Normand. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-06-04 Per Arne Vollan [AppleWin] JSC build failure https://bugs.webkit.org/show_bug.cgi?id=226659 Reviewed by Brent Fulgham. WTF scripts location is not being correctly identified. * Source/cmake/OptionsAppleWin.cmake: 2021-06-04 Martin Robinson [Win] Implement scroll-snap-points on Windows https://bugs.webkit.org/show_bug.cgi?id=142503 Reviewed by Simon Fraser. * Source/cmake/OptionsWin.cmake: Stop disabling scroll-snap for Apple Win port. 2021-05-27 Don Olmstead [CMake] Add check for timingsafe_bcmp https://bugs.webkit.org/show_bug.cgi?id=226347 Reviewed by Chris Dumez. Adds a symbol check for timingsafe_bcmp and sets HAVE_TIMINGSAFE_BCMP accordingly in the cmakeconfig.h. * Source/cmake/OptionsCommon.cmake: 2021-05-27 Adrian Perez de Castro Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.1 release * Source/cmake/OptionsWPE.cmake: Bump version numbers. 2021-05-27 Adrian Perez de Castro Unreviewed. [WPE] Bump version numbers * Source/cmake/OptionsWPE.cmake: 2021-05-26 Don Olmstead [CMake] Support USE_ANGLE_EGL on additional platforms https://bugs.webkit.org/show_bug.cgi?id=224888 Reviewed by Ken Russell. USE_ANGLE_EGL is for platforms that want to use ANGLE as the sole OpenGL ES implementation within WebKit. This setting is applicable to Mac and Windows platforms. USE_ANGLE_WEBGL is just for platforms that want to use ANGLE for WebGL 2.0 support only. Any other uses of OpenGL should go through the system OpenGL (desktop or embedded). This setting applies to GTK. The platform options were modified to match this. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsMac.cmake: 2021-05-25 Don Olmstead [PlayStation] Implement FileSystem without std::filesystem https://bugs.webkit.org/show_bug.cgi?id=226197 Reviewed by Chris Dumez. Expose the result of the check for support as HAVE_STD_FILESYSTEM. * Source/cmake/OptionsCommon.cmake: 2021-05-18 Yoshiaki Jitsukawa [PlayStation] Fix PlayStation port https://bugs.webkit.org/show_bug.cgi?id=225913 Reviewed by Don Olmstead. Fix PlayStation port * Source/cmake/OptionsPlayStation.cmake: Rename PLAYSTATION_COPY_SHARED_LIBRARIES to PLAYSTATION_COPY_REQUIREMENTS and let it copy more general files. Touch ebootparam.ini by the playstation_tools_copy custom_target. 2021-05-15 Sam Weinig Allow conditionally enabling OffscreenCanvas only for non-worker contexts https://bugs.webkit.org/show_bug.cgi?id=225845 Reviewed by Darin Adler. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Match current behavior of ENABLE_OFFSCREEN_CANVAS for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS. 2021-05-14 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.1 release * Source/cmake/OptionsGTK.cmake: Bump version numbers. 2021-05-14 Carlos Garcia Campos Unreviewed. [GTK] Fix make distcheck Use WEBKITGTK_API_DOC_VERSION instead of WEBKITGTK_API_VERSION or the documentation install rules. * Source/PlatformGTK.cmake: 2021-05-07 Carlos Garcia Campos [GTK][WPE] Bump libsoup3 version to 2.99.5 https://bugs.webkit.org/show_bug.cgi?id=225506 Reviewed by Philippe Normand. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-05-06 Yoshiaki Jitsukawa [OpenSSL] Implement CryptoAlgorithmRSA* https://bugs.webkit.org/show_bug.cgi?id=225294 Reviewed by Don Olmstead. Implement RSA for OpenSSL. Implement CryptoAlgorithmRSA_OAEP, CryptoAlgorithmRSA_PSS, CryptoAlgorithmRSAES_PKCS1_v1_5, CryptoAlgorithmRSASA_PKCS1_v1_5, and CryptoKeyRSA for OpenSSL. Note that if such OpenSSL version that does not support RSA_OAEP or RSA_PSS, the WebCrypto API for those algorithm will return a NotSupportedError. * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWinCairo.cmake: 2021-05-05 Michael Catanzaro USE_64KB_PAGE_BLOCK build option is broken https://bugs.webkit.org/show_bug.cgi?id=225393 Reviewed by Adrian Perez de Castro. Call SET_AND_EXPOSE_TO_BUILD(). * Source/cmake/WebKitFeatures.cmake: 2021-05-05 Michael Catanzaro Fix typo in comment in WebKitFeatures.cmake https://bugs.webkit.org/show_bug.cgi?id=225392 Unreviewed. * Source/cmake/WebKitFeatures.cmake: 2021-04-27 Don Olmstead [CMake] Don't use FORWARDING_HEADERS_DIR for GTK WebKit headers https://bugs.webkit.org/show_bug.cgi?id=225006 Reviewed by Michael Catanzaro. Create CMake variables WebKit2Gtk_FRAMEWORK_HEADERS_DIR and WebKit2Gtk_DERIVED_SOURCES_DIR to represent where the WebKit2 GTK headers and derived sources will reside. The names and locations set then follow along with the conventions used for the other frameworks. * Source/cmake/OptionsGTK.cmake: 2021-04-26 Alex Christensen Update Mac-specific CMake files https://bugs.webkit.org/show_bug.cgi?id=225064 Rubber-stamped by Tim Horton. * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitCommon.cmake: 2021-04-26 Don Olmstead [PlayStation] Fix build break after r276368 https://bugs.webkit.org/show_bug.cgi?id=225056 Reviewed by Ross Kirsling. Ensure that the OpenGL::GLES target is created. * Source/cmake/OptionsPlayStation.cmake: 2021-04-22 Martin Robinson [GTK] Turn on editable and fields https://bugs.webkit.org/show_bug.cgi?id=224921 Reviewed by Carlos Garcia Campos. Turn on editable date and time inputs for GTK * Source/cmake/OptionsGTK.cmake: Add new source file to the list. 2021-04-22 Imanol Fernandez Implement WebXR Input Sources https://bugs.webkit.org/show_bug.cgi?id=223257 Reviewed by Youenn Fablet. Enable WPE Gamepad when WebXR is enabled. * Source/cmake/OptionsWPE.cmake: 2021-04-22 Carlos Garcia Campos [SOUP] Add support for preconnect https://bugs.webkit.org/show_bug.cgi?id=177934 Reviewed by Sergio Villar Senin. Enable server preconnect support when building with libsoup3. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-04-22 Carlos Garcia Campos [GTK][WPE] Bump libsoup3 version to 2.99.4 https://bugs.webkit.org/show_bug.cgi?id=224925 Reviewed by Philippe Normand. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-04-21 Martin Robinson Enable CSS Scroll Snap by default https://bugs.webkit.org/show_bug.cgi?id=224867 Reviewed by Don Olmstead. * Source/cmake/OptionsFTW.cmake: Remove redundant line enabling scroll snap. * Source/cmake/OptionsGTK.cmake: Ditto. * Source/cmake/OptionsMac.cmake: Ditto. * Source/cmake/OptionsWPE.cmake: Ditto. * Source/cmake/OptionsWin.cmake: Explicitly disable scroll snap for AppleWin port until it can be approved by maintainers. * Source/cmake/WebKitFeatures.cmake: Enable scroll snap by default. 2021-04-21 Don Olmstead [CMake] Add OpenGLES2 targets https://bugs.webkit.org/show_bug.cgi?id=224786 Reviewed by Adrian Perez de Castro. Modernize the FindOpenGLES2.cmake module. Add an OpenGL::GLES target. Also add an OpenGLES2_API_VERSION value so HAVE_OPENGL_ES_3 can be determined. For WPE add a find_package for OpenGL ES so the target is present. For GTK set HAVE_OPENGL_ES_3 if OpenGLES2_API_VERSION supports it. * Source/cmake/FindOpenGLES2.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-04-20 Don Olmstead [CMake] Don't use FORWARDING_HEADERS_DIR for JSC GLib headers https://bugs.webkit.org/show_bug.cgi?id=224821 Reviewed by Michael Catanzaro. Create CMake variables JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR and JavaScriptCoreGLib_DERIVED_SOURCES_DIR to represent where the JavaScriptCore GLib headers and derived sources will reside. The names and locations set then follow along with the conventions used for the other frameworks. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-04-20 Carlos Garcia Campos [WPE] Switch to libsoup3 by default https://bugs.webkit.org/show_bug.cgi?id=224802 Reviewed by Žan Doberšek. * Source/cmake/OptionsWPE.cmake: 2021-04-19 Carlos Garcia Campos [GTK] Switch to libsoup3 by default https://bugs.webkit.org/show_bug.cgi?id=224741 Reviewed by Sergio Villar Senin. * Source/cmake/OptionsGTK.cmake: 2021-04-19 Philippe Normand [WPE][GTK] Enable AVIF decoder as experimental feature and unskip tests https://bugs.webkit.org/show_bug.cgi?id=224663 Reviewed by Xabier Rodriguez-Calvar. Make the USE_AVIF option public and enable it as experimental feature. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-04-16 Philippe Normand [CMake] UBSan build fixes https://bugs.webkit.org/show_bug.cgi?id=224536 Reviewed by Adrian Perez de Castro. Synchronize UBSan compiler flags with the ones defined in ubsan.xcconfig. * Source/cmake/WebKitCompilerFlags.cmake: 2021-04-15 Don Olmstead ANGLE is only being built when WebGL is enabled https://bugs.webkit.org/show_bug.cgi?id=224555 Reviewed by Fujii Hironori. ANGLE should be built if either USE_ANGLE_EGL or ENABLE_WEBGL is ON. * Source/CMakeLists.txt: 2021-04-15 Basuke Suzuki Remove warnings caused by export g_config extern definition in WTFConfig.h https://bugs.webkit.org/show_bug.cgi?id=224462 Reviewed by Don Olmstead. While building PlayStation port, lots of warnings are displayed: > WTF/Headers\wtf/WTFConfig.h:49:36: warning: redeclaration of 'WebConfig::g_config' > should not add 'dllimport' attribute [-Wdll-attribute-on-redeclaration] > extern "C" WTF_EXPORT_PRIVATE Slot g_config[]; > ^ > bmalloc/Headers\bmalloc/GigacageConfig.h:38:17: note: previous declaration is here > extern "C" Slot g_config[]; This is because the two definitions are not same. Becasue we can't solve the situation completely, we just ignore these warnings at this morment. * Source/cmake/OptionsPlayStation.cmake: 2021-04-15 Philippe Normand [WebRTC][GStreamer] Build and use the openh264 based encoder if present on the system https://bugs.webkit.org/show_bug.cgi?id=202538 Reviewed by Xabier Rodriguez-Calvar. * Source/CMakeLists.txt: * Source/cmake/GStreamerChecks.cmake: 2021-04-14 Don Olmstead [PlayStation] Disable WebGL https://bugs.webkit.org/show_bug.cgi?id=224562 Reviewed by Alex Christensen. WebGL support on PlayStation platforms is deprecated. * Source/cmake/OptionsPlayStation.cmake: 2021-04-13 Philippe Normand [GTK][WPE] Avif decoder build broken https://bugs.webkit.org/show_bug.cgi?id=224232 Reviewed by Carlos Garcia Campos. * Source/cmake/OptionsGTK.cmake: Require 0.9.0 due to avifIO usage in the decoder. 2021-04-09 Carlos Garcia Campos [GTK][WPE] Bump libsoup3 version to 2.99.3 https://bugs.webkit.org/show_bug.cgi?id=224362 Reviewed by Žan Doberšek. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-04-07 Michael Catanzaro [GTK] webkit://gpu should print runtime libwpe and wpebackend-fdo versions https://bugs.webkit.org/show_bug.cgi?id=224298 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsGTK.cmake: 2021-04-07 Don Olmstead [CMake] Mark _LIBRARY not _LIBRARIES in find modules https://bugs.webkit.org/show_bug.cgi?id=224283 Reviewed by Michael Catanzaro. A few find modules are erroniously sending _LIBRARIES to mark_as_advanced rather than _LIBRARY. The former is created from the _LIBRARY value so it isn't valid at that point. * Source/cmake/FindCairo.cmake: * Source/cmake/FindFontconfig.cmake: * Source/cmake/FindSQLite3.cmake: 2021-04-07 Kimmo Kinnunen .gitignore contains 'build/' which causes all directories named 'build/' to be ignored https://bugs.webkit.org/show_bug.cgi?id=224227 Reviewed by Ryosuke Niwa. Remove 'build/' from .gitignore, it was causing errors by hiding files. WebGL conformance test suite files have directiories with 'build/' in its path. Most likely '/build/' is not a common build directory, since the scripts seem to default to '/WebKitBuild/'. * .gitignore: 2021-04-06 Philippe Normand REGRESSION(r275275): Broke some build configs lacking openh264 https://bugs.webkit.org/show_bug.cgi?id=224244 Unreviewed, manual revert of r275275 and r275409. * Source/CMakeLists.txt: * Source/cmake/GStreamerChecks.cmake: 2021-04-06 Mark Lam Speculative build fix for Windows port. https://bugs.webkit.org/show_bug.cgi?id=224243 rdar://75883248 Reviewed by Saam Barati. Source/cmake/tools/scripts/auto-version.pl was limiting our `minor` and `micro` version to only 2 decimal digits only. In practice, we can use up to 3 digits. * Source/cmake/tools/scripts/auto-version.pl: (packTwoValues): 2021-04-05 Alex Christensen Resurrect Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=224084 Reviewed by Tim Horton. * Source/cmake/OptionsMac.cmake: 2021-04-05 Tyler Wilcock Document how to use logging in WebKit https://bugs.webkit.org/show_bug.cgi?id=224152 Reviewed by Simon Fraser. Add documentation about how to use logging in WebKit. * Introduction.md: 2021-03-28 David Kilzer Compile WebKit with UBSan Reviewed by Alexey Proskuryakov. * Makefile.shared: - Add support for "UBSAN=YES" argument to make. 2021-03-27 Philippe Normand REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme https://bugs.webkit.org/show_bug.cgi?id=223834 Unreviewed build fix. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-26 Lauro Moura REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme https://bugs.webkit.org/show_bug.cgi?id=223834 Unreviewed build fix. Buildfix for now. Actual removal of older scheme will come in the future. * Source/cmake/OptionsWPE.cmake: Add some missing variables with the per framework source and header dirs. 2021-03-26 Don Olmstead [CMake] Deprecate using DERIVED_SOURCES_DIR/FOWARDING_HEADERS_DIR directly https://bugs.webkit.org/show_bug.cgi?id=223763 Reviewed by Michael Catanzaro. Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. There are still some uses in GTK/WPE but those should be phased out. Sets the directory structure to look like an Apple build in terms of where headers and derived sources are held. Rather than having one root derived sources and one root header directory those directories are now per project. This helps catch any errors with header includes. Deletes some old Mac CMake code that is no longer relevant around creating forwarding headers. For AppleWin the old structure is used because of its internal build which assumes the old structure. * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFS.cmake: * Source/cmake/WebKitMacros.cmake: 2021-03-23 Adrian Perez de Castro [CMake] Use an imported target for the LCMS2 library https://bugs.webkit.org/show_bug.cgi?id=223442 Reviewed by Carlos Garcia Campos. * Source/cmake/FindLCMS2.cmake: Replaced find module by a new one which defines a LCMS2::LCMS2 imported target and in general uses more modern CMake constructs. 2021-03-23 Cameron McCormack Update .clang-format to reflect WebKit style better. https://bugs.webkit.org/show_bug.cgi?id=223229 First, SpaceBeforeCpp11BracedList is set to true so that a space is introduced after a variable name and before a braced initializer. Second, AlwaysBreakTemplateDeclarations is changed from false (an invalid value) to No, which should result in no line breaks being introduced in template declarations. Although there is a mix of template declaration line breaking styles in the codebase, changing this option to No will prevent clang-format from introducing one where the patch author decides to write the declaration all on one line. Reviewed by Alex Christensen. * .clang-format: 2021-03-22 Adrian Perez de Castro [CMake] Wrong variable used in FindFontconfig used to pick version from pkg-config https://bugs.webkit.org/show_bug.cgi?id=223557 Reviewed by Michael Catanzaro. * Source/cmake/FindFontconfig.cmake: Fix to use ${PC_FONTCONFIG_VERSION}. 2021-03-18 Carlos Garcia Campos [WPE] Bump API version when building with libsoup3 https://bugs.webkit.org/show_bug.cgi?id=223437 Reviewed by Adrian Perez de Castro. Use 1.1 as the API version when building with soup3. * Source/PlatformWPE.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-17 Martin Robinson [GTK][WPE] Enable CSS scroll snap support by default https://bugs.webkit.org/show_bug.cgi?id=222641 Reviewed by Carlos Garcia Campos. * Source/cmake/OptionsGTK.cmake: Enable CSS scroll snap by default. * Source/cmake/OptionsWPE.cmake: Ditto. 2021-03-16 Khem Raj [CMake] Build fails on RISC-V with GCC 11 https://bugs.webkit.org/show_bug.cgi?id=222959 Reviewed by Carlos Alberto Lopez Perez. Check for 1 byte atomic operations along with 64bit ones, some architevtures (e.g. RISCV) operations on less than 4 bytes are not lock-free * Source/cmake/WebKitCompilerFlags.cmake: 2021-03-14 Lauro Moura [GLIB] Keep GPUProcess disabled when using experimental features https://bugs.webkit.org/show_bug.cgi?id=223155 Reviewed by Philippe Normand. At least two recent GPUProcess-related revisions caused issues in GLIB, causing serious regressions in the bots. Disabling it for now until we improve its support. Revisions: r274327 - 2D Canvas enabled by default in GPUProcess r272842 - Media enabled by default in GPUProcess * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-12 Carlos Garcia Campos [GTK] Bump API version when building with libsoup3 https://bugs.webkit.org/show_bug.cgi?id=223067 Reviewed by Adrian Perez de Castro. Use 4.1 as the API version when building with soup3 and keep using 5.0 for GTK4. Also make it impossible to build with GTK4 and soup2. * Source/PlatformGTK.cmake: * Source/cmake/OptionsGTK.cmake: 2021-03-11 Carlos Garcia Campos Unreviewed. [GTK][WPE] Bump libsoup3 version to 2.99.3 * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-11 Carlos Garcia Campos [WPE][GTK] Add support for ICC color management https://bugs.webkit.org/show_bug.cgi?id=177185 Reviewed by Adrian Perez de Castro. Add optional lcms2 dependency. * Source/cmake/FindLCMS2.cmake: Added. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-10 Michael Catanzaro [GTK] Reenable -fvisibility=hidden https://bugs.webkit.org/show_bug.cgi?id=181916 Reviewed by Don Olmstead. In non-DEVELOPER_MODE builds, we rely on a linker version script to hide symbols that we don't want to export. Building with hidden visibility might seem redundant with this, but actually building with hidden visibility has advantages anyway. See https://gcc.gnu.org/wiki/Visibility. Note that I'm not confident GTK port can safely use -fvisibility-inlines-hidden, since it's split between two shared objects. Also, because GTK is split into two shared objects, GTK needs to build bmalloc and WTF as CMake OBJECT libraries, which is effectively the same as using -Wl,--whole-archive to prevent symbols from being prematurely stripped away. P.S. Major credit to Don Olmstead, who did most of the work to make this possible, which has already landed in previous patches. * Source/cmake/OptionsGTK.cmake: 2021-03-10 Commit Queue Unreviewed, reverting r274166. https://bugs.webkit.org/show_bug.cgi?id=223024 Broke GTK Debug builds Reverted changeset: "[GTK] Reenable -fvisibility=hidden" https://bugs.webkit.org/show_bug.cgi?id=181916 https://trac.webkit.org/changeset/274166 2021-03-09 Don Olmstead GLib JSC API headers should only include other GLib JSC API headers https://bugs.webkit.org/show_bug.cgi?id=222803 Reviewed by Michael Catanzaro. GTK and WPE both build the JavaScriptCore GLib API. However they diverged with their CMake variable names for the directory containing jsc. Declare a single variable for that directory, DERIVED_SOURCES_JAVASCRIPTCORE_GLIB_DIR, that is shared between GLib ports. Remove the GLIB_API_DIR variant which will just be replaced with ${DERIVED_SOURCES_JAVASCRIPTCORE_GLIB_DIR}/jsc in the CMake code. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-09 Michael Catanzaro [GTK] Reenable -fvisibility=hidden https://bugs.webkit.org/show_bug.cgi?id=181916 Reviewed by Don Olmstead. In non-DEVELOPER_MODE builds, we rely on a linker version script to hide symbols that we don't want to export. Building with hidden visibility might seem redundant with this, but actually building with hidden visibility has advantages anyway. See https://gcc.gnu.org/wiki/Visibility. Note that I'm not confident GTK port can safely use -fvisibility-inlines-hidden, since it's split between two shared objects. Also, because GTK is split into two shared objects, GTK needs to build bmalloc and WTF as CMake OBJECT libraries, which is effectively the same as using -Wl,--whole-archive to prevent symbols from being prematurely stripped away. P.S. Major credit to Don Olmstead, who did most of the work to make this possible, which has already landed in previous patches. * Source/cmake/OptionsGTK.cmake: 2021-03-05 Michael Catanzaro [GTK] Remove ADD_WHOLE_ARCHIVE_TO_LIBRARIES https://bugs.webkit.org/show_bug.cgi?id=222826 Reviewed by Don Olmstead. I don't know why it's no longer needed, but GTK links without it, so it can go away. * Source/cmake/OptionsGTK.cmake: 2021-03-05 Don Olmstead [CMake] Bump cmake_minimum_required version to 3.12 or later https://bugs.webkit.org/show_bug.cgi?id=221727 Reviewed by Konstantin Tokarev. Updates the minimum version to 3.12. In CMake 3.12 OBJECT library functionality was expanded to the point where they can successfully be used as a replacement for --whole-archive within WebKit. The check in JSCOnly for the minimum version before using hidden visibility was removed accordingly. * CMakeLists.txt: * Source/cmake/OptionsJSCOnly.cmake: 2021-03-05 ChangSeok Oh AVIF decoding support https://bugs.webkit.org/show_bug.cgi?id=207750 Reviewed by Philippe Normand. This patch brings an initial support of AVIF image format to the gtk port. AVIF is a new royalty-free image format derived from the keyframes of AV1 video. FireFox and Chromium-variant browsers already support it. Its specification can be found at https://rawcdn.githack.com/AOMediaCodec/av1-avif/67a92add6cd642a8863e386fa4db87954a6735d1/index.html This patch aims to land a build option for AVIF and a basic decoding ability for still images by using libavif. Animated AVIF images will be covered later. * Source/cmake/FindAVIF.cmake: Added to find libavif. * Source/cmake/OptionsGTK.cmake: A build option, USE_AVIF is added. 2021-03-03 Commit Queue Unreviewed, reverting r273814. https://bugs.webkit.org/show_bug.cgi?id=222676 Unresolved types in JavaScriptCore-4.0.gir Reverted changeset: "[CMake] JavaScriptCore GLib headers should be copies" https://bugs.webkit.org/show_bug.cgi?id=222625 https://trac.webkit.org/changeset/273814 2021-03-03 Don Olmstead [CMake] JavaScriptCore GLib headers should be copies https://bugs.webkit.org/show_bug.cgi?id=222625 Reviewed by Michael Catanzaro. Specify the directories for JavaScriptCore GLib headers and derived sources. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-03-01 Per Arne [Win] Fix build failure https://bugs.webkit.org/show_bug.cgi?id=222576 Reviewed by Brent Fulgham. It appears a recent change has unintentionally enabled WebInspectorUI on Apple Win. Address this by explicitly disabling it. * Source/cmake/OptionsAppleWin.cmake: 2021-02-26 Carlos Garcia Campos Unreviewed. [GTK] Bump version numbers * Source/cmake/OptionsGTK.cmake: 2021-02-26 Imanol Fernandez Implement OpenXR port graphics binding https://bugs.webkit.org/show_bug.cgi?id=222173 Reviewed by Sergio Villar Senin. Enable OpenXR defines required for EGL graphics binding. * Source/cmake/OptionsWPE.cmake: 2021-02-26 Carlos Garcia Campos [GTK][WPE] Bump libsoup3 version to 2.99.1 https://bugs.webkit.org/show_bug.cgi?id=222413 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-02-24 Cameron McCormack Fix typo in Introduction.md. https://bugs.webkit.org/show_bug.cgi?id=222387 Reviewed by Ryosuke Niwa. * Introduction.md: 2021-02-23 Don Olmstead [CMake] Fix JSCOnly build on Windows https://bugs.webkit.org/show_bug.cgi?id=222316 Reviewed by Michael Catanzaro. Turn off ENABLE_WEBASSEMBLY for Windows on JSCOnly now that its possible to build it without FTL. * Source/cmake/OptionsJSCOnly.cmake: 2021-02-22 Carlos Garcia Campos [SOUP] Add support for libsoup3 https://bugs.webkit.org/show_bug.cgi?id=222093 Reviewed by Adrian Perez de Castro. * Source/cmake/FindLibSoup.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: 2021-02-18 Martin Robinson [GTK][WPE] Implement support for CSS Scroll Snap https://bugs.webkit.org/show_bug.cgi?id=203684 Reviewed by Carlos Garcia Campos. Add initial support for css-scroll-snap on WebKitGTK+ and WebKitWPE. This adds support for all types of scroll snapping that WebKit supports apart from mouse wheel snapping. Support for that will be added in a followup change. * Source/cmake/OptionsGTK.cmake: Enable scroll snapping when experimental features are enabled. * Source/cmake/OptionsWPE.cmake: Ditto. 2021-02-16 Tim Horton Local macCatalyst builds should not build WebInspectorUI https://bugs.webkit.org/show_bug.cgi?id=221992 Reviewed by Wenson Hsieh. * Source/Makefile: This project is not used in macCatalyst, and is not even built in production builds. We should stop building it in local release/debug builds as well. 2021-02-11 Don Olmstead [CMake] WEBKIT_EXECUTABLE can incorrectly link framework https://bugs.webkit.org/show_bug.cgi?id=221703 Reviewed by Michael Catanzaro. After r272484 which added an additional test for TestJavaScriptCore the PlayStation build began failing with an unresolved symbol in bmalloc. On PlayStation both WTF and bmalloc are linked into JavaScriptCore. That library was building successfully which implied that WTF was being erroniously linked into TestJavaScriptCore. Inside _WEBKIT_EXECUTABLE_LINK_FRAMEWORK there was an invalid conditional which was causing WTF to be linked. Fixed the logic to ensure that if the requested framework is linked into another framework that is being linked then it is not added to the linker. * Source/cmake/WebKitMacros.cmake: 2021-02-10 Don Olmstead [CMake] Enable hidden visibility on JSCOnly https://bugs.webkit.org/show_bug.cgi?id=221726 Reviewed by Yusuke Suzuki. Turn on hidden visibility for all *NIX ports of JSCOnly. To properly export the symbols from WTF/bmalloc OBJECT libraries are used. This requires CMake 3.12 or later to function properly. * Source/cmake/OptionsJSCOnly.cmake: 2021-02-10 Christopher Reid [PlayStation] Add initial RESOURCE_USAGE implementation https://bugs.webkit.org/show_bug.cgi?id=221706 Reviewed by Ross Kirsling. * Source/cmake/OptionsPlayStation.cmake: 2021-02-10 Philippe Normand [WPE] Optionally build Cog as external project and replacement for MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=221518 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsWPE.cmake: New variable for JSC forwarded headers path, useful uninstalled builds of projects depending on JSC. 2021-02-09 Jonathan Bedard AX: introduction.md broken architecture.png link https://bugs.webkit.org/show_bug.cgi?id=221607 Reviewed by Sam Weinig. * Introduction.md: webkit2-process-architecture.png Moved to resources. 2021-02-08 Alicia Boya García ConsoleMessage: Don't encode string JSONLogValue's as JSON https://bugs.webkit.org/show_bug.cgi?id=221421 Reviewed by Eric Carlson. Enable JavaScriptCore API tests. * Source/cmake/WebKitCommon.cmake: 2021-02-05 Don Olmstead [MSVC] Catalog warnings https://bugs.webkit.org/show_bug.cgi?id=199248 Unreviewed build fix. Missed a warning generated when building AppleWin. * Source/cmake/OptionsMSVC.cmake: 2021-02-05 Don Olmstead [MSVC] Catalog warnings https://bugs.webkit.org/show_bug.cgi?id=199248 Reviewed by Fujii Hironori. Catalog all the MSVC warnings providing the message and a link to documentation for the warning. Some warnings are noted as being against the style guide so they won't be addressed. All other warnings could potentially be fixed in the codebase. * Source/cmake/OptionsMSVC.cmake: 2021-02-04 Adrian Perez de Castro Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.31.1 release * Source/cmake/OptionsWPE.cmake: Bump version numbers. 2021-02-04 Philippe Normand [GStreamer] Misc Thunder nitpicks https://bugs.webkit.org/show_bug.cgi?id=221398 Reviewed by Xabier Rodriguez-Calvar. * Source/cmake/FindThunder.cmake: Look-up Thunder through pkg-config before attempting a direct libocdm lookup. 2021-02-01 Saam Barati Lazily create m_windowCloseWatchpoints so we don't mistakenly think we have a frame when re-associating a document to a given cached frame https://bugs.webkit.org/show_bug.cgi?id=221098 Reviewed by Ryosuke Niwa and Mark Lam. * ManualTests/dont-create-invalid-watchpoint-when-going-back.html: Added. * ManualTests/resources/empty-text.txt: Added. * ManualTests/resources/full_results.json: Added. * ManualTests/resources/test-results-page.html: Added. 2021-02-01 Don Olmstead [Curl] Enable FTP protocol only when ENABLE_FTPDIR is on https://bugs.webkit.org/show_bug.cgi?id=220941 Reviewed by Fujii Hironori. Turn off ENABLE_FTPDIR for WinCairo. The version of cURL used has FTP support explicitly disabled. * Source/cmake/OptionsWin.cmake: 2021-01-27 Yusuke Suzuki WebAssembly: add support for stream APIs https://bugs.webkit.org/show_bug.cgi?id=173105 Reviewed by Keith Miller. * Source/cmake/OptionsFTW.cmake: * Source/cmake/WebKitFeatures.cmake: 2021-01-27 Angelos Oikonomopoulos Set ruby-indent-level to 4 https://bugs.webkit.org/show_bug.cgi?id=220982 Reviewed by Fujii Hironori. All the ruby source files seem to default to 4 as the indent level; make it official. * .dir-locals.el: * .editorconfig: 2021-01-23 Xan Lopez [JSC] Allow to build WebAssembly without B3 https://bugs.webkit.org/show_bug.cgi?id=220365 Reviewed by Yusuke Suzuki. Make the WebAssembly feature depend on Baseline JIT, not B3 JIT. Also add a WEBASSEMBLY_B3JIT feature to enable or disable the B3 tier in WebAssembly. * Source/cmake/WebKitFeatures.cmake: disable on 32bit. 2021-01-21 Fujii Hironori Remove ENABLE_USERSELECT_ALL macro which is enabled for all ports https://bugs.webkit.org/show_bug.cgi?id=100424 Reviewed by Don Olmstead. * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: 2021-01-20 Yusuke Suzuki Unreviewed, ANGLE should not be built in JSCOnly port ANGLE is not a part of JSC. Do not build it. * Source/cmake/OptionsJSCOnly.cmake: 2021-01-19 Lauro Moura REGRESSION(r271580) [GTK] LTS/Debian build failure due to unsupported g-ir-scanner parameter https://bugs.webkit.org/show_bug.cgi?id=220730 Reviewed by Philippe Normand. * Source/cmake/FindGObjectIntrospection.cmake: Expose variable about the presence of --sources-top-dirs. 2021-01-14 Jonathan Bedard [GitHub] Reference GitHub repository in readme https://bugs.webkit.org/show_bug.cgi?id=220611 Reviewed by Aakash Jain. * ReadMe.md: Reference GitHub repository. 2021-01-12 Fujii Hironori [PlayStation] Enable ENABLE_USERSELECT_ALL for -webkit-user-select:all support https://bugs.webkit.org/show_bug.cgi?id=220533 Reviewed by Don Olmstead. * Source/cmake/OptionsPlayStation.cmake: Removed the line disabling ENABLE_USERSELECT_ALL. 2021-01-12 Philippe Normand [GStreamer] Bump version requirement https://bugs.webkit.org/show_bug.cgi?id=220356 Reviewed by Xabier Rodriguez-Calvar. * Source/cmake/GStreamerChecks.cmake: Bump required version to 1.14. 2021-01-12 Xabier Rodriguez Calvar [GStreamer] Switch from ENABLE_ to USE_ in native audio/video and text sink options https://bugs.webkit.org/show_bug.cgi?id=220515 Reviewed by Philippe Normand. * Source/cmake/GStreamerDefinitions.cmake: Add USE_ definitions. * Source/cmake/WebKitFeatures.cmake: Remove global ENABLE_ definitions. 2021-01-12 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.31.1 release * Source/cmake/OptionsGTK.cmake: Bump version numbers. 2021-01-11 Yoshiaki Jitsukawa [PlayStation] Add MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=220359 Reviewed by Don Olmstead. Enable Fullscreen API. * Source/cmake/OptionsPlayStation.cmake: 2021-01-11 Xabier Rodriguez Calvar [GStreamer] Add support to build with native audio and video https://bugs.webkit.org/show_bug.cgi?id=220087 Reviewed by Philippe Normand. * Source/cmake/GStreamerDefinitions.cmake: Enable TEXT_SINK. * Source/cmake/WebKitFeatures.cmake: Declare TEXT_SINK, NATIVE_VIDEO and NATIVE_AUDIO. 2021-01-08 Ryan Hostetler Add support for source caching between platforms https://bugs.webkit.org/show_bug.cgi?id=220439 rdar://72905725 Reviewed by Andy Estes. Include WebInspectorUI Source during any installsrc phase. * Source/Makefile: 2021-01-08 Fujii Hironori [Win] Enable ENABLE_USERSELECT_ALL for -webkit-user-select:all support https://bugs.webkit.org/show_bug.cgi?id=118740 Reviewed by Don Olmstead. This change also fixes the assertion failure of editing/inserting/insert-list-user-select-none-crash.html (Bug 216256). * Source/cmake/OptionsFTW.cmake: Removed the line disabling ENABLE_USERSELECT_ALL. * Source/cmake/OptionsWin.cmake: Ditto. 2021-01-07 Ryan Hostetler make clean/installsrc fail: You cannot specify -alltargets and also specify individual targets. https://bugs.webkit.org/show_bug.cgi?id=220370 rdar://72834872 Reviewed by Andy Estes. Update hardcoded '-alltargets' to use new XCODE_TARGET variable. * Makefile.shared: 2021-01-07 Monson Shao [CMake] Add USE_APPLE_ICU option https://bugs.webkit.org/show_bug.cgi?id=220081 Reviewed by Yusuke Suzuki. Add USE_APPLE_ICU option to allow non-Mac ports (GTK or JSCOnly) on Darwin could build with non-Apple ICU. * Source/cmake/OptionsCommon.cmake: * Source/cmake/WebKitFindPackage.cmake: 2021-01-06 Alexey Proskuryakov Make svn status ignore Python 3 __pycache__ directories. Unreviewed. Python 2 *.pyc files are still inconsistently handled via svn:ignore on each directory, but it is not worth cleaning up before GitHub move. * Tools: Added property svn:global-ignores. 2021-01-06 Fujii Hironori [GTK][CMake] Add a build switch USE_OPENGL_OR_ES to be able to disable OpenGL and ES https://bugs.webkit.org/show_bug.cgi?id=220183 Reviewed by Kenneth Russell. r270477 removed ENABLE_GRAPHICS_CONTEXT_GL macro and build switch, but GTK port still needs the build switch. Revert r270477 partially to restore the build switch and rename it to USE_OPENGL_OR_ES. * Source/cmake/OptionsGTK.cmake: 2021-01-05 Fujii Hironori [WinCairo][curl] Enable CURLSSLOPT_NATIVE_CA flag to use system's CA certs instead of cacert.pem https://bugs.webkit.org/show_bug.cgi?id=220258 Reviewed by Don Olmstead. Libcurl 7.71 added a new flag CURLSSLOPT_NATIVE_CA to use the operating system's native CA store only for Windows. Use the flag for WinCairo port. * Source/cmake/OptionsWinCairo.cmake: Bumped the minimum Curl version. 2021-01-04 Lauro Moura [WebXR][WPE] Build fails without openxr installed https://bugs.webkit.org/show_bug.cgi?id=220250 Reviewed by Carlos Alberto Lopez Perez. * Source/cmake/FindOpenXR.cmake: Fix some names and export OPENXR_FOUND var. * Source/cmake/OptionsWPE.cmake: Fail config is WebXR is enabled but couldn't find OpenXR. 2021-01-04 Jeff Miller Update user-visible copyright strings to include 2021 https://bugs.webkit.org/show_bug.cgi?id=219901 Reviewed by Anders Carlsson. * Source/cmake/tools/scripts/COPYRIGHT-END-YEAR: 2020-12-23 Fujii Hironori [WinCairo] Enable WebGL 2 https://bugs.webkit.org/show_bug.cgi?id=192314 Reviewed by Kenneth Russell. * Source/cmake/OptionsWin.cmake: Turned ENABLE_WEBGL2 on. 2020-12-23 Monson Shao [CMake] Fix seperated include dir of harfbuzz and harfbuzz-icu https://bugs.webkit.org/show_bug.cgi?id=220082 Reviewed by Alex Christensen. In some distros (NixOS) harfbuzz and harfbuzz-icu may have different include dir. * Source/cmake/FindHarfBuzz.cmake: 2020-12-21 Ryan Hostetler $(findstring iphone,$(SDKROOT)) fails when SDKROOT is not lowercase https://bugs.webkit.org/show_bug.cgi?id=219993 rdar://72436093 Reviewed by Darin Adler. Update SDKROOT evaluation to be lowercase and SDK filename only. * Source/Makefile: 2020-12-16 Fujii Hironori [WinCairo] Enable USE_ANGLE https://bugs.webkit.org/show_bug.cgi?id=219421 Reviewed by Don Olmstead. * Source/cmake/OptionsWinCairo.cmake: 2020-12-13 Don Olmstead [CMake] Version of LibPSL not reported https://bugs.webkit.org/show_bug.cgi?id=219837 Reviewed by Adrian Perez de Castro. When determining the version of LibPSL from the header file LIBPSL_VERSION was set but the VERSION_VAR reported was LibPSL_VERSION. Consistently use LibPSL_VERSION within the file to prevent this. Additionally LibPSL_LIBRARY not LibPSL_LIBRARIES should be marked_as_advanced. * Source/cmake/FindLibPSL.cmake: 2020-12-11 Don Olmstead [CMake] Determine correct visibility for linked frameworks https://bugs.webkit.org/show_bug.cgi?id=210366 Reviewed by Michael Catanzaro. WebKit has some frameworks that are compiled statically into a larger shared library. For example Apple compiles bmalloc and WTF into JavaScriptCore. This means the JavaScriptCore framework also exposes the symbols for those two libraries and that targets depending on WTF or bmalloc should link to JavaScriptCore and never to WTF or bmalloc directly. The CMake code allows each port to decide the type of library for a WEBKIT_FRAMEWORK. This means there are many different combinations that it needs to support. To ensure that everything links properly some bookkeeping is required. WEBKIT_FRAMEWORK now uses ${target}_FRAMEWORKS to determine how to link the frameworks it depends on. First the macro determines if the framework is a SHARED library or is linked into a shared library, and if so it is linked as PUBLIC. If the framework itself is not a SHARED library, then it links other STATIC/OBJECT framework as PUBLIC. If the framework itself is SHARED then any framework that is a STATIC/OBJECT library is linked as PRIVATE to stop propagation. The linked framework's header directories are added to the WebKit::${framework} target to allow the framework to present as that framework. A global property is set to inform consumers that they should link to this different framework to get the requested framework. This ensures that all ports can ship with hidden visibility turned on which is a precursor to a port turning on link time optimization (LTO). * Source/cmake/WebKitMacros.cmake: 2020-12-10 Don Olmstead [CMake] Determine when to use $ for executables https://bugs.webkit.org/show_bug.cgi?id=219648 Reviewed by Michael Catanzaro. When a WebKit framework is declared as an OBJECT library the WebKit::${framework} ALIAS does not propagate the objects to the executable being built. As a workaround ports will explicitly add $ to the list of libraries being linked. There is already enough information to determine when $ is needed so this decision is moved into the WEBKIT_EXECUTABLE macros. An additional ${taget_name}_FRAMEWORKS variable is added which specifies the WebKit frameworks being used. This will link the WebKit::${framework} alias and if necessary the associated $. This functionality will be expanded upon when support for ${target_name}_FRAMEWORKS is added to WebKit frameworks to support hidden visibility across ports. * Source/cmake/WebKitMacros.cmake: 2020-12-07 Don Olmstead [CMake] Remove WEBKIT_WRAP_SOURCELIST https://bugs.webkit.org/show_bug.cgi?id=196916 Reviewed by Michael Catanzaro. WEBKIT_WRAP_SOURCELIST macro is used only to adjust source groups in Visual Studio projects without any impact on build process. Its references variable specific to particular targets (WebCore) which contradicts our goal of having target-oriented CMake project. It can be reintroduced later in a more clean way, in case anyone needs to have such grouping. * Source/cmake/WebKitMacros.cmake: 2020-12-05 Fujii Hironori Remove ENABLE_GRAPHICS_CONTEXT_GL by replacing it with ENABLE(WEBGL) https://bugs.webkit.org/show_bug.cgi?id=219551 Reviewed by Kenneth Russell. * Source/CMakeLists.txt: * Source/cmake/GStreamerDependencies.cmake: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: 2020-11-26 Lauro Moura [GTK][GTK4] Building with GObject-Introspection support does not work https://bugs.webkit.org/show_bug.cgi?id=219221 Reviewed by Carlos Garcia Campos. * Source/cmake/OptionsGTK.cmake: Allow introspection with GTK4. 2020-11-26 Fujii Hironori [WinCairo] Enable GPU process https://bugs.webkit.org/show_bug.cgi?id=219294 Reviewed by Don Olmstead. * Source/cmake/OptionsWin.cmake: Turned ENABLE_GPU_PROCESS on for WinCairo. 2020-11-26 Yoshiaki Jitsukawa [PlayStation] Enable ResourceLoadStatistics https://bugs.webkit.org/show_bug.cgi?id=219292 Reviewed by Fujii Hironori. * Source/cmake/OptionsPlayStation.cmake: 2020-11-20 Don Olmstead Remove quota module https://bugs.webkit.org/show_bug.cgi?id=219206 Reviewed by Anders Carlsson. Remove the ability to set ENABLE_QUOTA. The Storage Quota API is deprecated and no WebKit port is enabling it. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: 2020-11-09 Michael Catanzaro Enable llint asm on aarch64 when USE(64KB_PAGE_BLOCK) is enabled https://bugs.webkit.org/show_bug.cgi?id=218613 Reviewed by Carlos Alberto Lopez Perez. Normally we fall back to cloop when JIT is not supported. But on aarch64, llint asm is well- supported, so it is safe to use that here. This will only happen on aarch64, and only when USE(64KB_PAGE_BLOCK) is enabled, which should probably only be used by RHEL and SUSE. Everyone else should get the JIT. * Source/cmake/WebKitFeatures.cmake: 2020-11-04 Sergey Rubanov Fix JSC build on macOS Big Sur https://bugs.webkit.org/show_bug.cgi?id=218566 Reviewed by David Kilzer. * Source/cmake/WebKitFindPackage.cmake: 2020-11-04 Michael Catanzaro Add new build option USE(64KB_PAGE_BLOCK) https://bugs.webkit.org/show_bug.cgi?id=217989 Reviewed by Yusuke Suzuki. Why do we need this option? Because JSC and bmalloc both want to know the userspace page size at compile time, which is impossible on Linux because it's a runtime setting. We cannot test the system page size at build time in hopes that it will be the same on the target system, because (a) cross compiling wouldn't work, and (b) the build system could use a different page size than the target system (which will be true for Fedora aarch64, because Fedora is built using RHEL), so the best we can do is guess based on the target CPU architecture. In practice, guessing works for all architectures except aarch64 (unless unusual page sizes are used), but it fails for aarch64 because distros are split between using 4 KB and 64 KB pages there. Most distros (including Fedora) use 4 KB, but RHEL uses 64 KB. SUSE actually supports both. Since there is no way to guess correctly, the best we can do is provide an option for it. You should probably only use this if building for aarch64. Otherwise, known CPUs except PowerPC will use 4 KB, while PowerPC and unknown CPUs will use 64 KB (see wtf/PageBlock.h). aarch64 will continue to default to 4 KB because this is a much better default on systems where it doesn't crash. Having one flag will help avoid mistakes. E.g. both RHEL and SUSE were manually passing -DENABLE_JIT=OFF and -DUSE_SYSTEM_MALLOC=ON, but we missed -DENABLE_C_LOOP=ON and -DENABLE_SAMPLING_PROFILER=OFF, so wound up running with both JIT and cloop disabled, a configuration not otherwise used on Linux (and not supported by GTK or WPE ports). It will be easier to not mess up if we only have to pass one special build option. This will also allow us to stop patching PageBlock.h downstream, because I don't like downstream patches that we have to keep forever. * Source/cmake/WebKitFeatures.cmake: 2020-10-30 Ryosuke Niwa Add Introduction to WebKit https://bugs.webkit.org/show_bug.cgi?id=217017 Rubber-stamped by Simon Fraser. Added the basic introductory documentation for WebKit. * Introduction.md: Added. * resources/js-wrapper.png: Added. * resources/webkit2-process-architecture.png: Added. * resources/xcode-add-file.png: Added. * resources/xcode-build-settings-for-run.png: Added. * resources/xcode-export-header.png: Added. * resources/xcode-scheme-dumprendertree.png: Added. * resources/xcode-scheme-layout-test.png: Added. * resources/xcode-workspace-build-location.png: Added. * resources/xcode-workspace-settings.png: Added. 2020-10-30 Jonathan Bedard Github mirror ReadMe need to update https://bugs.webkit.org/show_bug.cgi?id=218120 Reviewed by Aakash Jain. * ReadMe.md: 2020-10-27 Keith Rollin Fix "usage" message when invoking `ar -V` https://bugs.webkit.org/show_bug.cgi?id=218255 Reviewed by Fujii Hironori. The Mac/BSD version of `ar` does not support the -V flag. This flag is used unconditionally in OptionsCommon.cmake when trying to determine if the installed `ar` supports the thinning of archives, leading to a "usage" message being emitted on macOS. Avoid this message by capturing the error-output. Examine the output to see if it's a "usage" message. If so, then treat the `ar` as one that does not support thinning. Any other error-output is printed as a warning. If there is no error-output, continue processing as normal. * Source/cmake/OptionsCommon.cmake: 2020-10-27 Brian Burg Web Inspector: add ENABLE(INSPECTOR_EXTENSIONS) to feature defines https://bugs.webkit.org/show_bug.cgi?id=218237 Reviewed by Antti Koivisto. * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Add ENABLE(INSPECTOR_EXTENSIONS), which is only on for the Cocoa macOS port. 2020-10-26 Keith Rollin Move some initialization code from top-level CMakeLists.txt to WebKitCommon.cmake https://bugs.webkit.org/show_bug.cgi?id=218069 Reviewed by Fujii Hironori. Moving this initialization code into a central location allows other top-level CMakeLists.txt files to include WebKitCommon.cmake and get that same initialization. * CMakeLists.txt: * Source/cmake/WebKitCommon.cmake: 2020-10-23 Philippe Normand [GStreamer] Replace USE(WEBAUDIO_GSTREAMER) with USE(GSTREAMER) https://bugs.webkit.org/show_bug.cgi?id=218083 Reviewed by Xabier Rodriguez-Calvar. A separate define was introduced back when we thought enabling WebAudio without enabling