Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3339a9e2f198974f80071e779fca43303824ac71
      
https://github.com/WebKit/WebKit/commit/3339a9e2f198974f80071e779fca43303824ac71
  Author: Sam Weinig <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M Source/WebCore/Headers.cmake
    A Source/WebCore/Modules/mediacapabilities/AudioConfiguration.h
    A Source/WebCore/Modules/mediacapabilities/ColorGamut.h
    A Source/WebCore/Modules/mediacapabilities/HdrMetadataType.h
    M Source/WebCore/Modules/mediacapabilities/MediaCapabilities.cpp
    M Source/WebCore/Modules/mediacapabilities/MediaCapabilities.h
    A Source/WebCore/Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.h
    A Source/WebCore/Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.h
    A Source/WebCore/Modules/mediacapabilities/MediaCapabilitiesInfo.h
    A Source/WebCore/Modules/mediacapabilities/MediaConfiguration.h
    A Source/WebCore/Modules/mediacapabilities/MediaDecodingConfiguration.h
    A Source/WebCore/Modules/mediacapabilities/MediaDecodingType.h
    A Source/WebCore/Modules/mediacapabilities/MediaEncodingConfiguration.h
    A Source/WebCore/Modules/mediacapabilities/MediaEncodingType.h
    A Source/WebCore/Modules/mediacapabilities/TransferFunction.h
    A Source/WebCore/Modules/mediacapabilities/VideoConfiguration.h
    M Source/WebCore/Modules/mediacapabilities/VideoConfiguration.idl
    M Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations
    M Source/WebCore/Sources.txt
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/page/Page.cpp
    R Source/WebCore/platform/MediaCapabilitiesDecodingInfo.h
    R Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h
    R Source/WebCore/platform/MediaCapabilitiesInfo.h
    M Source/WebCore/platform/MediaSamplesBlock.h
    M Source/WebCore/platform/SourcesGStreamer.txt
    M Source/WebCore/platform/audio/MediaSessionManagerInterface.h
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
    M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm
    M Source/WebCore/platform/graphics/AV1Utilities.cpp
    M Source/WebCore/platform/graphics/AV1Utilities.h
    M Source/WebCore/platform/graphics/cocoa/AV1UtilitiesCocoa.h
    M Source/WebCore/platform/graphics/cocoa/AV1UtilitiesCocoa.mm
    M Source/WebCore/platform/graphics/cocoa/CMUtilities.mm
    M Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.h
    M Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.mm
    R 
Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp
    R 
Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h
    A 
Source/WebCore/platform/graphics/cocoa/PlatformMediaEngineConfigurationFactoryCocoa.cpp
    A 
Source/WebCore/platform/graphics/cocoa/PlatformMediaEngineConfigurationFactoryCocoa.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
    M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
    M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h
    R 
Source/WebCore/platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp
    R 
Source/WebCore/platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h
    A 
Source/WebCore/platform/graphics/gstreamer/PlatformMediaEngineConfigurationFactoryGStreamer.cpp
    A 
Source/WebCore/platform/graphics/gstreamer/PlatformMediaEngineConfigurationFactoryGStreamer.h
    R Source/WebCore/platform/mediacapabilities/AudioConfiguration.h
    R Source/WebCore/platform/mediacapabilities/ColorGamut.h
    R Source/WebCore/platform/mediacapabilities/HdrMetadataType.h
    R Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.cpp
    R Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.h
    R Source/WebCore/platform/mediacapabilities/MediaConfiguration.h
    R Source/WebCore/platform/mediacapabilities/MediaDecodingConfiguration.h
    R Source/WebCore/platform/mediacapabilities/MediaDecodingType.h
    R Source/WebCore/platform/mediacapabilities/MediaEncodingConfiguration.h
    R Source/WebCore/platform/mediacapabilities/MediaEncodingType.h
    R 
Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.cpp
    R 
Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesAudioConfiguration.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesColorGamut.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesDecodingInfo.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesEncodingInfo.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesHdrMetadataType.h
    A Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesInfo.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesLogging.cpp
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesLogging.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesTransferFunction.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesVideoConfiguration.h
    A Source/WebCore/platform/mediacapabilities/PlatformMediaConfiguration.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaDecodingConfiguration.h
    A Source/WebCore/platform/mediacapabilities/PlatformMediaDecodingType.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaEncodingConfiguration.h
    A Source/WebCore/platform/mediacapabilities/PlatformMediaEncodingType.h
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaEngineConfigurationFactory.cpp
    A 
Source/WebCore/platform/mediacapabilities/PlatformMediaEngineConfigurationFactory.h
    R Source/WebCore/platform/mediacapabilities/TransferFunction.h
    R Source/WebCore/platform/mediacapabilities/VideoConfiguration.h
    M Source/WebCore/platform/mediastream/WebRTCProvider.cpp
    M Source/WebCore/platform/mediastream/WebRTCProvider.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCProvider.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCProvider.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h
    R Source/WebCore/platform/mock/MediaEngineConfigurationFactoryMock.cpp
    R Source/WebCore/platform/mock/MediaEngineConfigurationFactoryMock.h
    A 
Source/WebCore/platform/mock/PlatformMediaEngineConfigurationFactoryMock.cpp
    A Source/WebCore/platform/mock/PlatformMediaEngineConfigurationFactoryMock.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/Internals.h
    M 
Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp
    M 
Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h
    M 
Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M 
Source/WebKit/WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp
    M Source/WebKit/WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h
    M Source/WebKit/WebProcess/WebProcess.cpp

  Log Message:
  -----------
  Use separate types for platform and DOM representations of MediaCapabilities
https://bugs.webkit.org/show_bug.cgi?id=306439

Reviewed by Darin Adler.

Creates distinct types for the platform and DOM representations
of MediaCapabilities, with toPlatform/fromPlatform functions to
bridge between the two.

This has a few benefits:
  - It allows the DOM versions to be next to their IDL files
  - It allows the platform versions to contain additional values
    not exposed by the DOM (important, because IDL dictionaries
    must match exactly now, allowing us to remove some more uses
    of `LegacyNativeDictionaryRequiredInterfaceNullability`).
  - Creates a clear layering distinction.

I used the `Platform` prefix for the platform types, and in some cases,
where the name was quite generic, like `ColorGamut`, gave a more verbose
`PlatformMediaCapabilities` prefix to make sure it was clear this was
not a type for generally representing color gamut. It maybe a good idea
to update the DOM versions as well, or work with the appropriate working
group to have the names made a bit more specific in the spec to reduce
the chance of naming collisions in the future.

* Source/WebCore/Modules/mediacapabilities/AudioConfiguration.h: Copied from 
Source/WebCore/platform/mediacapabilities/AudioConfiguration.h.
* Source/WebCore/Modules/mediacapabilities/ColorGamut.h: Copied from 
Source/WebCore/platform/mediacapabilities/ColorGamut.h.
* Source/WebCore/Modules/mediacapabilities/HdrMetadataType.h: Copied from 
Source/WebCore/platform/mediacapabilities/HdrMetadataType.h.
* Source/WebCore/Modules/mediacapabilities/MediaCapabilities.cpp:
* Source/WebCore/Modules/mediacapabilities/MediaCapabilities.h:
* Source/WebCore/Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.h: 
Copied from Source/WebCore/platform/MediaCapabilitiesDecodingInfo.h.
* Source/WebCore/Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.h: 
Renamed from Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h.
* Source/WebCore/Modules/mediacapabilities/MediaCapabilitiesInfo.h: Copied from 
Source/WebCore/platform/MediaCapabilitiesInfo.h.
* Source/WebCore/Modules/mediacapabilities/MediaConfiguration.h: Copied from 
Source/WebCore/platform/mediacapabilities/MediaConfiguration.h.
* Source/WebCore/Modules/mediacapabilities/MediaDecodingConfiguration.h: Copied 
from Source/WebCore/platform/mediacapabilities/MediaDecodingConfiguration.h.
* Source/WebCore/Modules/mediacapabilities/MediaDecodingType.h: Copied from 
Source/WebCore/platform/mediacapabilities/MediaDecodingType.h.
* Source/WebCore/Modules/mediacapabilities/MediaEncodingConfiguration.h: Copied 
from Source/WebCore/platform/mediacapabilities/MediaEncodingConfiguration.h.
* Source/WebCore/Modules/mediacapabilities/MediaEncodingType.h: Copied from 
Source/WebCore/platform/mediacapabilities/MediaEncodingType.h.
* Source/WebCore/Modules/mediacapabilities/TransferFunction.h: Copied from 
Source/WebCore/platform/mediacapabilities/TransferFunction.h.
* Source/WebCore/Modules/mediacapabilities/VideoConfiguration.h: Copied from 
Source/WebCore/platform/mediacapabilities/VideoConfiguration.h.
* Source/WebCore/Modules/mediacapabilities/VideoConfiguration.idl:
* Source/WebCore/Sources.txt:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/Page.cpp:
* Source/WebCore/platform/MediaSamplesBlock.h:
* Source/WebCore/platform/SourcesGStreamer.txt:
* Source/WebCore/platform/audio/MediaSessionManagerInterface.h:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
* Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:
* Source/WebCore/platform/graphics/AV1Utilities.cpp:
* Source/WebCore/platform/graphics/AV1Utilities.h:
* Source/WebCore/platform/graphics/cocoa/AV1UtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/AV1UtilitiesCocoa.mm:
* Source/WebCore/platform/graphics/cocoa/CMUtilities.mm:
* Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.mm:
* 
Source/WebCore/platform/graphics/cocoa/PlatformMediaEngineConfigurationFactoryCocoa.cpp:
 Renamed from 
Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp.
* 
Source/WebCore/platform/graphics/cocoa/PlatformMediaEngineConfigurationFactoryCocoa.h:
 Renamed from 
Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.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/gstreamer/PlatformMediaEngineConfigurationFactoryGStreamer.cpp:
 Renamed from 
Source/WebCore/platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp.
* 
Source/WebCore/platform/graphics/gstreamer/PlatformMediaEngineConfigurationFactoryGStreamer.h:
 Renamed from 
Source/WebCore/platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h.
* Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.cpp: 
Removed.
* Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.h: Removed.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesAudioConfiguration.h:
 Renamed from Source/WebCore/platform/mediacapabilities/AudioConfiguration.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesColorGamut.h:
 Renamed from Source/WebCore/platform/mediacapabilities/ColorGamut.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesDecodingInfo.h:
 Copied from Source/WebCore/platform/MediaCapabilitiesDecodingInfo.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesEncodingInfo.h:
 Renamed from Source/WebCore/platform/MediaCapabilitiesDecodingInfo.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesHdrMetadataType.h:
 Renamed from Source/WebCore/platform/mediacapabilities/HdrMetadataType.h.
* Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesInfo.h: 
Renamed from Source/WebCore/platform/MediaCapabilitiesInfo.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesLogging.cpp: 
Added.
* Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesLogging.h: 
Added.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesTransferFunction.h:
 Renamed from Source/WebCore/platform/mediacapabilities/TransferFunction.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaCapabilitiesVideoConfiguration.h:
 Renamed from Source/WebCore/platform/mediacapabilities/VideoConfiguration.h.
* Source/WebCore/platform/mediacapabilities/PlatformMediaConfiguration.h: 
Renamed from Source/WebCore/platform/mediacapabilities/MediaConfiguration.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaDecodingConfiguration.h: 
Renamed from 
Source/WebCore/platform/mediacapabilities/MediaDecodingConfiguration.h.
* Source/WebCore/platform/mediacapabilities/PlatformMediaDecodingType.h: 
Renamed from Source/WebCore/platform/mediacapabilities/MediaDecodingType.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaEncodingConfiguration.h: 
Renamed from 
Source/WebCore/platform/mediacapabilities/MediaEncodingConfiguration.h.
* Source/WebCore/platform/mediacapabilities/PlatformMediaEncodingType.h: 
Renamed from Source/WebCore/platform/mediacapabilities/MediaEncodingType.h.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaEngineConfigurationFactory.cpp:
 Renamed from 
Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.cpp.
* 
Source/WebCore/platform/mediacapabilities/PlatformMediaEngineConfigurationFactory.h:
 Renamed from 
Source/WebCore/platform/mediacapabilities/MediaEngineConfigurationFactory.h.
* Source/WebCore/platform/mediastream/WebRTCProvider.cpp:
* Source/WebCore/platform/mediastream/WebRTCProvider.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h:
* Source/WebCore/platform/mock/PlatformMediaEngineConfigurationFactoryMock.cpp: 
Renamed from 
Source/WebCore/platform/mock/MediaEngineConfigurationFactoryMock.cpp.
* Source/WebCore/platform/mock/PlatformMediaEngineConfigurationFactoryMock.h: 
Renamed from Source/WebCore/platform/mock/MediaEngineConfigurationFactoryMock.h.
* Source/WebCore/testing/Internals.cpp:
* Source/WebCore/testing/Internals.h:
* Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp:
* Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h:
* 
Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp:
* Source/WebKit/WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h:
* Source/WebKit/WebProcess/WebProcess.cpp:

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



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

Reply via email to