Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e4d6c1fe5c1faced0e57babc474e9a5c73628a3f
      
https://github.com/WebKit/WebKit/commit/e4d6c1fe5c1faced0e57babc474e9a5c73628a3f
  Author: Elliott Williams <e...@apple.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M Source/WebKit/Configurations/WebKitSwift.xcconfig
    A Source/WebKit/Platform/spi/visionos/LinearMediaKit.swiftinterface
    M Source/WebKit/WebKitSwift/LinearMediaKit/WKSLinearMediaPlayer.h

  Log Message:
  -----------
  [visionOS] Add SPI module for LinearMediaKit
rdar://127327242
https://bugs.webkit.org/show_bug.cgi?id=273527

Reviewed by Andy Estes.

Reland of https://commits.webkit.org/278232@main which avoids making
risky changes to XPCSPI.h and WebKitSwift's language mode.

In order to build visionOS using the public SDK, WebKitSwift needs to
`import LinearMediaKit`, which a private framework. For C-family
frameworks we'd handle this by adding an SPI header, to go with
auto-extracted TBDs in WebKitLibraries/. But because this is a Swift
framework, we need an alternative.

Add a handwritten LinearMediaKit.swiftinterface file to the relevant spi
directory. This contains the subset of the framework that WebKit links
against. In public SDK builds, SWIFT_INCLUDE_PATHS is modified to
include this directory, making the module importable in public while
falling back to the private framework's module internally.

* Source/WebKit/Configurations/WebKitSwift.xcconfig:
* Source/WebKit/Platform/spi/visionos/LinearMediaKit.swiftinterface: Added.
* Source/WebKit/WebKitSwift/LinearMediaKit/WKSLinearMediaPlayer.h: In
  public visionOS builds, libxpc is not available. Rather than use
  XPCSPI.h, which has non-modular includes and assumes a c++ compiler,
  use OS_OBJECT_DECL to get a xpc_object_t for use in interface
  declarations.

Canonical link: https://commits.webkit.org/278332@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to