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