[webkit-changes] [WebKit/WebKit] 2c252b: Implement https://w3c.github.io/mediacapture-exten...

youennf noreply at github.com
Thu Mar 28 08:38:58 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2c252b52dc9f3aee81033984e94cead97a615541
      https://github.com/WebKit/WebKit/commit/2c252b52dc9f3aee81033984e94cead97a615541
  Author: Youenn Fablet <youenn at apple.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M LayoutTests/fast/mediastream/MediaDevices-getSupportedConstraints-expected.txt
    M LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt
    M LayoutTests/fast/mediastream/MediaStreamTrack-getSettings-expected.txt
    A LayoutTests/fast/mediastream/mediastreamtrack-video-backgroundBlur-expected.txt
    A LayoutTests/fast/mediastream/mediastreamtrack-video-backgroundBlur.html
    M Source/WebCore/Modules/mediastream/MediaDevices.cpp
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.h
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.idl
    M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp
    M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.h
    M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.idl
    M Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp
    M Source/WebCore/Modules/mediastream/MediaTrackConstraints.h
    M Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl
    M Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.h
    M Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.idl
    M Source/WebCore/platform/mediastream/MediaConstraintType.cpp
    M Source/WebCore/platform/mediastream/MediaConstraintType.h
    M Source/WebCore/platform/mediastream/MediaConstraints.cpp
    M Source/WebCore/platform/mediastream/MediaConstraints.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h
    M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm
    M Source/WebCore/platform/mock/MockMediaDevice.h
    M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
    M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  Implement https://w3c.github.io/mediacapture-extensions/#exposing-mediastreamtrack-source-background-blur-support
https://bugs.webkit.org/show_bug.cgi?id=271707
rdar://125416230

Reviewed by Eric Carlson.

Add backgroundBlur constraint, capability and setting as this allows web pages to know whether background blur is already enabled or not.
We implement this for AVVideoCaptureSource.
We mock this property for some devices in  MockRealtimeVideoSource.
A follow-up patch will add support for observing changes to background blur property.

* LayoutTests/fast/mediastream/MediaDevices-getSupportedConstraints-expected.txt:
* LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt:
* LayoutTests/fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
* LayoutTests/fast/mediastream/mediastreamtrack-video-backgroundBlur-expected.txt: Added.
* LayoutTests/fast/mediastream/mediastreamtrack-video-backgroundBlur.html: Added.
* Source/WebCore/Modules/mediastream/MediaDevices.cpp:
(WebCore::hasInvalidGetDisplayMediaConstraint):
* Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::getSettings const):
* Source/WebCore/Modules/mediastream/MediaStreamTrack.h:
* Source/WebCore/Modules/mediastream/MediaStreamTrack.idl:
* Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp:
(WebCore::capabilityBooleanVector):
(WebCore::toMediaTrackCapabilities):
* Source/WebCore/Modules/mediastream/MediaTrackCapabilities.h:
* Source/WebCore/Modules/mediastream/MediaTrackCapabilities.idl:
* Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp:
(WebCore::convertToInternalForm):
* Source/WebCore/Modules/mediastream/MediaTrackConstraints.h:
* Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl:
* Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.h:
* Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.idl:
* Source/WebCore/platform/mediastream/MediaConstraintType.cpp:
(WebCore::convertToString):
* Source/WebCore/platform/mediastream/MediaConstraintType.h:
* Source/WebCore/platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaTrackConstraintSetMap::set):
(WebCore::MediaTrackConstraintSetMap::merge):
(WebCore::MediaTrackConstraintSetMap::isolatedCopy const):
* Source/WebCore/platform/mediastream/MediaConstraints.h:
(WebCore::MediaTrackConstraintSetMap::MediaTrackConstraintSetMap):
(WebCore::MediaTrackConstraintSetMap::backgroundBlur const):
* Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance):
(WebCore::RealtimeMediaSource::applyConstraint):
(WebCore::RealtimeMediaSource::supportsConstraint):
(WebCore::RealtimeMediaSource::hasAnyInvalidConstraint):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::RealtimeMediaSourceCapabilities::RealtimeMediaSourceCapabilities):
(WebCore::RealtimeMediaSourceCapabilities::supportsBackgroundBlur const):
(WebCore::RealtimeMediaSourceCapabilities::backgroundBlur const):
(WebCore::RealtimeMediaSourceCapabilities::setBackgroundBlur):
(WebCore::RealtimeMediaSourceCapabilities::isolatedCopy const):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp:
(WebCore::RealtimeMediaSourceSettings::isolatedCopy const):
(WebCore::RealtimeMediaSourceSettings::convertFlagsToString):
(WebCore::RealtimeMediaSourceSettings::difference const):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::allFlags):
(WebCore::RealtimeMediaSourceSettings::RealtimeMediaSourceSettings):
(WebCore::RealtimeMediaSourceSettings::supportsBackgroundBlur const):
(WebCore::RealtimeMediaSourceSettings::backgroundBlur const):
(WebCore::RealtimeMediaSourceSettings::setBackgroundBlur):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint const):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:
(WebCore::RealtimeMediaSourceSupportedConstraints::RealtimeMediaSourceSupportedConstraints):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsBackgroundBlur const):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsBackgroundBlur):
* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::settings):
(WebCore::AVVideoCaptureSource::capabilities):
* Source/WebCore/platform/mock/MockMediaDevice.h:
* Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices):
* Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::capabilities):
(WebCore::MockRealtimeVideoSource::settings):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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



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


More information about the webkit-changes mailing list