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

Reply via email to