= PlayStation WebKit Port Update - Our fourth contributors meeting - We used WebKit before that but now are contributing back - Team - Both in San Francisco and Tokyo - ~1400 patches landed (~500 since last meeting) - > 200 patches reviewed - 3 reviewers - 5 committers - 2 contributors - Remote Inspector - Socket-based implementation - Didn't have Apple's support or dbus - Multi-platform - Windows - POSIX - Can inspect across platforms - Inspect from WinCairo, GTK or Mac - Inspect WinCairo, GTK, or PlayStation targets - cURL Network Layers - Continued support and imporovements of the network Layer - Passing additional layout tests - HTTP/2 Support - WinCairo as fast as Chrome on Windows for Akamai HTTP/2 Benchmark - Brotli Support - Sony enabled Intelligent Tracking Prevention - Cookies handled by libPSL (Public Suffix List) - We plan to continue maintaining and improving this network layer - Sanitizers and Control Flow Integrity - Using CFI to harden WebKit and JSC - Needs clang with LTO and hidden visibility - Not running with JIT - Currently working internally - Running WebKit with other sanitizers - MSVC is going to ship with built in Asan support - WinCairo can build with clang-cl supports some sanitizers - Address Sanitizer bots? - Maybe based on gtk or wpe given better support for the sanitizers on Linux? - CMake Improvements - Target based - Remove use of all the _LIBRARIES_INCLUDE_DIR and instead have them communicated through the target - Mirror Apple Build - Each project independently - Copy all headers - General clean-up of the build - Upstreamed enhancements to Make for our Platform Visual Studio integration - JSC Improvements - Implemented new language features - Optional chaining (?.) and bullish coalescing (??) - Still behind runtime flag but ready anytime - Numeric literal separators (_) - Hasbang (#!) - Added private (JSContextPrivateRef) C++ API for unhandled promise rejections - Internal need for the callback - No objective C api at this time - Made various spec compliance fixes - Mostly concerning early errors - In two cases, managed to fix the spec instead! - ECMAScript fixes based on JSC behavior - WinCairo Bots - Migrated to new EWS - Addressed issues with patch on Windows - Cause of patches failing to apply - Looking into AWS - All builds running in docker containers - Hoping to address scale and stability - Downstream WebKit Port - Currently branched off of latest Safari release branch - Safari 608.1.48 - Still have a large amount of patches downstream - Upstream focus has been on common code between WInCairo and PlayStation - Sometimes internally near deadlines things get thrown in, trying to improve things when upstreaming - WebDriver for Socket Remote Inspector - WebKitWebDriver Binary for GTK with our socket implementation - Can connect to device to control web view - WinCairo and Mac binary is also coming soon - Developers use either Windows or Mac - This was driven by internal QA requests - We are interested in WPT in longer term - Internal Build Infrastructure - BuildBot for internal WebKit Builds - Based on build.webkit.org config - Server hosted on AWS - Articfacts to S3 - Tests running on device from containers - Docker containers for building PlayStation port - Built on top of Docker containers for Windows port - Plans for Next Year - Complete Upstreaming of Port - Improve WinCairo Build Bots and EWS - Turn on Public PlayStation Build Bots - Work towards a Single Windows Port Q&A - Question on internal bot version - Running on 1.7 not 0.8 - Wanted to keep python 2 - Minor changes for version change