Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9f5b37e8d00f3790cd4a6394e9cd155cd40ea8b8
      
https://github.com/WebKit/WebKit/commit/9f5b37e8d00f3790cd4a6394e9cd155cd40ea8b8
  Author: Richard Robinson <[email protected]>
  Date:   2026-01-14 (Wed, 14 Jan 2026)

  Changed paths:
    M Source/WebCore/Configurations/WebCore.xcconfig
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.h
    M Source/WebCore/Scripts/generate-log-declarations.py
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/WebCore_Private.modulemap
    M Source/WebCore/crypto/CryptoAlgorithm.cpp
    M Source/WebCore/crypto/CryptoAlgorithm.h
    M Source/WebCore/crypto/SubtleCrypto.cpp
    M Source/WebCore/crypto/SubtleCrypto.h
    M Source/WebCore/crypto/SubtleCrypto.idl
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/MouseEvent.h
    M Source/WebCore/dom/PointerEvent.h
    M Source/WebCore/dom/Touch.h
    M Source/WebCore/platform/LogClient.h
    M Source/WebCore/platform/audio/ios/MediaDeviceRouteController.h
    M Source/WebCore/platform/cocoa/WebAVPlayerLayerView.h
    M Source/WebCore/platform/gamepad/cocoa/GameControllerSPI.h
    M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h
    M Source/WebCore/platform/graphics/NullImageBufferBackend.h
    M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h
    M Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp
    M Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h
    M Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm
    A Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoaInternal.h
    M Source/WebCore/platform/ios/PlatformEventFactoryIOS.h
    M Source/WebCore/platform/ios/WebAVPlayerController.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDav1dDecoder.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCRefWrappers.h
    M Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.h

  Log Message:
  -----------
  [Swift in WebKit] Fix the WebCore clang module
https://bugs.webkit.org/show_bug.cgi?id=305448
rdar://168117603

Reviewed by Mike Wyrzykowski.

Fix the remaining WebCore module issues and re-enable the verifier.

* Source/WebCore/Configurations/WebCore.xcconfig:

Previously, the `-Xclang -fno-implicit-module-maps` option was used with the 
module verifier,
which prevented the module verifier from... using modules. Now that the rest of 
the module issues
are actually fixed, this can be removed and the verifier can be enabled once 
again.

* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDav1dDecoder.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCRefWrappers.h:
* Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.h:

Temporarily suppress errors about importing a non-modular library (webrtc) from 
a modularized
framework.

* Source/WebCore/Scripts/generate-log-declarations.py:
* Source/WebCore/WebCore_Private.modulemap:
* Source/WebCore/platform/LogClient.h:
(WebCore::LogClient::~LogClient): Deleted.
(WebCore::LogClient::isWebKitLogClient const): Deleted.

The `LogClient.h` and `WebCoreVirtualLogFunctions.h` files are ill-formed with 
modules, since
headers have to be standalone and not rely on textual inclusion, which these 
violated. Fix by
just generating the entire type definition instead of only pieces of it.

For now, `LogClient.h` still has to exist to avoid any potential stale header 
module issues.

* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::doVerify):
(WebCore::CryptoAlgorithm::verify): Deleted.
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::doVerify):
(WebCore::SubtleCrypto::verify): Deleted.
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp:
(WebCore::CryptoAlgorithmECDSA::doVerify):
(WebCore::CryptoAlgorithmECDSA::verify): Deleted.
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.cpp:
(WebCore::CryptoAlgorithmEd25519::doVerify):
(WebCore::CryptoAlgorithmEd25519::verify): Deleted.
* Source/WebCore/crypto/algorithms/CryptoAlgorithmEd25519.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::doVerify):
(WebCore::CryptoAlgorithmHMAC::verify): Deleted.
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::doVerify):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify): Deleted.
* Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:
(WebCore::CryptoAlgorithmRSA_PSS::doVerify):
(WebCore::CryptoAlgorithmRSA_PSS::verify): Deleted.
* Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.h:

Words like `verify` and `check` are (sadly) defined as macros in a system 
header, and therefore
conflict when used as function names. Fix by renaming `verify` to `doVerify` in 
the affected files.

* Source/WebCore/platform/gamepad/cocoa/GameControllerSPI.h:

Remove incorrect use of extern "c""

* Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h:

Suppress warning for non modular include of WKA.

* Source/WebCore/platform/graphics/NullImageBufferBackend.h:

Use the correct `memory` system header.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:
* Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
* Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoaInternal.h: Copied 
from Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDav1dDecoder.h.

To avoid having to expose `webm` in the private interface of WebCore, slightly 
refactor these
files to only use `webm` internally to WebCore.

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



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

Reply via email to