Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9e0b3254278178d3a02f9633130eb222fa52d4c9
https://github.com/WebKit/WebKit/commit/9e0b3254278178d3a02f9633130eb222fa52d4c9
Author: Youenn Fablet <[email protected]>
Date: 2023-03-14 (Tue, 14 Mar 2023)
Changed paths:
M LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt
M LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities.html
M Source/WTF/wtf/PlatformHave.h
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/platform/mediastream/MediaConstraints.cpp
M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
M Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.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/MockRealtimeVideoSource.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
Log Message:
-----------
Expose
https://www.w3.org/TR/image-capture/#dom-mediatrackcapabilities-focusdistance
https://bugs.webkit.org/show_bug.cgi?id=253645
rdar://problem/106497310
Reviewed by Eric Carlson.
Expose focusDistance to allow web developers to disambiguate between various
cameras.
In macOS/iOS, we can use
https://developer.apple.com/documentation/avfoundation/avcapturedevice/3751762-minimumfocusdistance?changes=_5,
which we can expose as focusDistance.min. We do not have a focusDistance.max
so we leave that field undefined.
To do so, we use numeric_values<double>::max as the undefined value.
Covered by updated layout test and updated mock camera.
Mock front camera does not have any focus distance info and mock back camera
has min focus distance of 0.2.
* LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt:
* LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities.html:
* Source/WTF/wtf/PlatformHave.h:
* Source/WebCore/Modules/mediastream/MediaDevices.cpp:
(WebCore::hasInvalidGetDisplayMediaConstraint):
* Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::capabilityDoubleRange):
(WebCore::MediaStreamTrack::getCapabilities const):
* Source/WebCore/Modules/mediastream/MediaStreamTrack.h:
* Source/WebCore/Modules/mediastream/MediaStreamTrack.idl:
* Source/WebCore/platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaTrackConstraintSetMap::set):
* Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance):
(WebCore::RealtimeMediaSource::applyConstraint):
(WebCore::RealtimeMediaSource::supportsConstraint):
(WebCore::RealtimeMediaSource::supportsConstraints):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::RealtimeMediaSourceCapabilities::RealtimeMediaSourceCapabilities):
(WebCore::RealtimeMediaSourceCapabilities::supportsFocusDistance const):
(WebCore::RealtimeMediaSourceCapabilities::focusDistance const):
(WebCore::RealtimeMediaSourceCapabilities::setFocusDistance):
*
Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint const):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:
(WebCore::RealtimeMediaSourceSupportedConstraints::RealtimeMediaSourceSupportedConstraints):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFocusDistance const):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFocusDistance):
* Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::capabilities):
* Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::capabilities):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
Canonical link: https://commits.webkit.org/261624@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes