wiki:PlayStationWebKitPortUpdate2019

Version 1 (modified by Jon Davis, 12 months ago) (diff)

--

Sony Port Update

  • Team
    • ~1400 patches landed (~500 since last meeting)
    • > 200 patches reviewed
    • 3 reviewers
    • 5 committers
    • 2 contributors
  • Remote Inspector
    • Socket-based implementation
    • 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)
  • 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?
  • 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 C++ API for unhandled promise rejections
    • 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
  • 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
  • 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
  • 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 fro 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