Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 03472e793851c1b6a42e0182bc69fd6ab6bd04c6
      
https://github.com/WebKit/WebKit/commit/03472e793851c1b6a42e0182bc69fd6ab6bd04c6
  Author: Richard Robinson <[email protected]>
  Date:   2026-03-30 (Mon, 30 Mar 2026)

  Changed paths:
    M Source/WebCore/PAL/Configurations/PAL.xcconfig
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    R Source/WebCore/PAL/pal/PALSwift/CryptoKitShim.swift
    A Source/WebCore/PAL/pal/crypto/CryptoKitShim.swift

  Log Message:
  -----------
  [Swift in WebKit] Remove all public Swift symbols from PAL (part 1)
https://bugs.webkit.org/show_bug.cgi?id=311004
rdar://173605338

Reviewed by Pascoe.

Now that all layering violations in PAL have been fixed, change all Swift 
symbols to be `private` or `internal` instead
of `public`. Some symbols have to be kept as `public` to support old compilers 
temporarily.

* Source/WebCore/PAL/Configurations/PAL.xcconfig:

Set the minimum access level for the Swift generated header to be `internal` so 
that other PAL code can access the Swift
symbols.

* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:

Move the `CryptoKitShim` file to the `crypto` folder since it makes no sense to 
have a directory for a specific language.

* Source/WebCore/PAL/pal/crypto/CryptoKitShim.swift: Renamed from 
Source/WebCore/PAL/pal/PALSwift/CryptoKitShim.swift.
(Digest.ctx):
(Digest.update(_:)):
(Digest.finalize):
(Digest.sha1(_:)):
(Digest.sha256(_:)):
(Digest.sha384(_:)):
(Digest.sha512(_:)):
(ECKey.importX963Pub(_:curve:)):
(ECKey.exportX963Pub):
(ECKey.importCompressedPub(_:curve:)):
(ECKey.importX963Private(_:curve:)):
(ECKey.exportX963Private):
(ECKey.deriveBits(_:)):
(EdKey.generatePrivateKey(_:)):
(EdKey.generatePrivateKeyKeyAgreement(_:)):

Remove all `public` visibility from these symbols where possible.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to