Changeset 192602 in webkit


Ignore:
Timestamp:
Nov 18, 2015, 5:24:02 PM (10 years ago)
Author:
eric.carlson@apple.com
Message:

MediaStream: Implement MediaDevices.getSupportedConstraints
https://bugs.webkit.org/show_bug.cgi?id=151394

Reviewed by Brent Fulgham.

Source/WebCore:

Test: fast/mediastream/MediaDevices-getSupportedConstraints.html

  • CMakeLists.txt: Add MediaTrackSupportedConstraints and JSMediaTrackSupportedConstraintsCustom.
  • DerivedSources.make: Ditto.
  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getSupportedConstraints): New.

  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/MediaDevices.idl:
  • Modules/mediastream/MediaTrackSupportedConstraints.h: Added. Wrapper around a RealtimeMediaSourceSupportedConstraints.

(WebCore::MediaTrackSupportedConstraints::create):
(WebCore::MediaTrackSupportedConstraints::supportsWidth):
(WebCore::MediaTrackSupportedConstraints::supportsHeight):
(WebCore::MediaTrackSupportedConstraints::supportsAspectRatio):
(WebCore::MediaTrackSupportedConstraints::supportsFrameRate):
(WebCore::MediaTrackSupportedConstraints::supportsFacingMode):
(WebCore::MediaTrackSupportedConstraints::supportsVolume):
(WebCore::MediaTrackSupportedConstraints::supportsSampleRate):
(WebCore::MediaTrackSupportedConstraints::supportsSampleSize):
(WebCore::MediaTrackSupportedConstraints::supportsEchoCancellation):
(WebCore::MediaTrackSupportedConstraints::supportsDeviceId):
(WebCore::MediaTrackSupportedConstraints::supportsGroupId):
(WebCore::MediaTrackSupportedConstraints::MediaTrackSupportedConstraints):

  • Modules/mediastream/MediaTrackSupportedConstraints.idl: Added.
  • WebCore.xcodeproj/project.pbxproj: Add JSMediaTrackSupportedConstraintsCustom.cpp, RealtimeMediaSourceSupportedConstraints.h, and MediaTrackSupportedConstraints.*.

A MediaTrackSupportedConstraints only contains the properties supported by the currently
available capture devices, so implement getOwnPropertySlot and getOwnPropertyNames so
we don't have to declare any attributes in the idl file.

  • bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp: Added.

(WebCore::JSMediaTrackSupportedConstraints::getOwnPropertySlotDelegate):
(WebCore::JSMediaTrackSupportedConstraints::getOwnPropertyNames):

  • platform/mediastream/RealtimeMediaSourceCenter.h:
  • platform/mediastream/RealtimeMediaSourceSupportedConstraints.h: Added.

(WebCore::RealtimeMediaSourceSupportedConstraints::RealtimeMediaSourceSupportedConstraints):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsWidth):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsWidth):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsHeight):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsHeight):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsAspectRatio):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsAspectRatio):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFrameRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFrameRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFacingMode):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFacingMode):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsVolume):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsVolume):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleSize):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleSize):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsEchoCancellation):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsEchoCancellation):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsDeviceId):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsDeviceId):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsGroupId):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsGroupId):

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac): Initialize supported constraints.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
  • platform/mock/MockRealtimeMediaSource.cpp: Delete some dead code.
  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::MockRealtimeMediaSourceCenter): Initialize supported constraints.

  • platform/mock/MockRealtimeMediaSourceCenter.h:

LayoutTests:

  • fast/mediastream/MediaDevices-getSupportedConstraints-expected.txt: Added.
  • fast/mediastream/MediaDevices-getSupportedConstraints.html: Added.
Location:
trunk
Files:
6 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r192592 r192602  
     12015-11-18  Eric Carlson  <eric.carlson@apple.com>
     2
     3        MediaStream: Implement MediaDevices.getSupportedConstraints
     4        https://bugs.webkit.org/show_bug.cgi?id=151394
     5
     6        Reviewed by Brent Fulgham.
     7
     8        * fast/mediastream/MediaDevices-getSupportedConstraints-expected.txt: Added.
     9        * fast/mediastream/MediaDevices-getSupportedConstraints.html: Added.
     10
    1112015-11-18  Joseph Pecoraro  <pecoraro@apple.com>
    212
  • trunk/Source/WebCore/CMakeLists.txt

    r192575 r192602  
    239239    Modules/mediastream/MediaTrackConstraintSet.idl
    240240    Modules/mediastream/MediaTrackConstraints.idl
     241    Modules/mediastream/MediaTrackSupportedConstraints.idl
    241242    Modules/mediastream/NavigatorMediaDevices.idl
    242243    Modules/mediastream/NavigatorUserMedia.idl
     
    12061207    bindings/js/JSMediaSourceStatesCustom.cpp
    12071208    bindings/js/JSMediaStreamCapabilitiesCustom.cpp
     1209    bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp
    12081210    bindings/js/JSMessageChannelCustom.cpp
    12091211    bindings/js/JSMessageEventCustom.cpp
  • trunk/Source/WebCore/ChangeLog

    r192601 r192602  
     12015-11-18  Eric Carlson  <eric.carlson@apple.com>
     2
     3        MediaStream: Implement MediaDevices.getSupportedConstraints
     4        https://bugs.webkit.org/show_bug.cgi?id=151394
     5
     6        Reviewed by Brent Fulgham.
     7
     8        Test: fast/mediastream/MediaDevices-getSupportedConstraints.html
     9
     10        * CMakeLists.txt: Add MediaTrackSupportedConstraints and JSMediaTrackSupportedConstraintsCustom.
     11
     12        * DerivedSources.make: Ditto.
     13
     14        * Modules/mediastream/MediaDevices.cpp:
     15        (WebCore::MediaDevices::getSupportedConstraints): New.
     16        * Modules/mediastream/MediaDevices.h:
     17        * Modules/mediastream/MediaDevices.idl:
     18
     19        * Modules/mediastream/MediaTrackSupportedConstraints.h: Added. Wrapper around a
     20          RealtimeMediaSourceSupportedConstraints.
     21        (WebCore::MediaTrackSupportedConstraints::create):
     22        (WebCore::MediaTrackSupportedConstraints::supportsWidth):
     23        (WebCore::MediaTrackSupportedConstraints::supportsHeight):
     24        (WebCore::MediaTrackSupportedConstraints::supportsAspectRatio):
     25        (WebCore::MediaTrackSupportedConstraints::supportsFrameRate):
     26        (WebCore::MediaTrackSupportedConstraints::supportsFacingMode):
     27        (WebCore::MediaTrackSupportedConstraints::supportsVolume):
     28        (WebCore::MediaTrackSupportedConstraints::supportsSampleRate):
     29        (WebCore::MediaTrackSupportedConstraints::supportsSampleSize):
     30        (WebCore::MediaTrackSupportedConstraints::supportsEchoCancellation):
     31        (WebCore::MediaTrackSupportedConstraints::supportsDeviceId):
     32        (WebCore::MediaTrackSupportedConstraints::supportsGroupId):
     33        (WebCore::MediaTrackSupportedConstraints::MediaTrackSupportedConstraints):
     34        * Modules/mediastream/MediaTrackSupportedConstraints.idl: Added.
     35
     36        * WebCore.xcodeproj/project.pbxproj: Add JSMediaTrackSupportedConstraintsCustom.cpp,
     37          RealtimeMediaSourceSupportedConstraints.h, and MediaTrackSupportedConstraints.*.
     38
     39        A MediaTrackSupportedConstraints only contains the properties supported by the currently
     40        available capture devices, so implement getOwnPropertySlot and getOwnPropertyNames so
     41        we don't have to declare any attributes in the idl file.
     42        * bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp: Added.
     43        (WebCore::JSMediaTrackSupportedConstraints::getOwnPropertySlotDelegate):
     44        (WebCore::JSMediaTrackSupportedConstraints::getOwnPropertyNames):
     45
     46        * platform/mediastream/RealtimeMediaSourceCenter.h:
     47        * platform/mediastream/RealtimeMediaSourceSupportedConstraints.h: Added.
     48        (WebCore::RealtimeMediaSourceSupportedConstraints::RealtimeMediaSourceSupportedConstraints):
     49        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsWidth):
     50        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsWidth):
     51        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsHeight):
     52        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsHeight):
     53        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsAspectRatio):
     54        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsAspectRatio):
     55        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsFrameRate):
     56        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFrameRate):
     57        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsFacingMode):
     58        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFacingMode):
     59        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsVolume):
     60        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsVolume):
     61        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleRate):
     62        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleRate):
     63        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleSize):
     64        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleSize):
     65        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsEchoCancellation):
     66        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsEchoCancellation):
     67        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsDeviceId):
     68        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsDeviceId):
     69        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsGroupId):
     70        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsGroupId):
     71
     72        * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
     73        (WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac): Initialize supported constraints.
     74        * platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
     75
     76        * platform/mock/MockRealtimeMediaSource.cpp: Delete some dead code.
     77
     78        * platform/mock/MockRealtimeMediaSourceCenter.cpp:
     79        (WebCore::MockRealtimeMediaSourceCenter::MockRealtimeMediaSourceCenter): Initialize supported constraints.
     80        * platform/mock/MockRealtimeMediaSourceCenter.h:
     81
    1822015-11-18  Alex Christensen  <achristensen@webkit.org>
    283
  • trunk/Source/WebCore/DerivedSources.make

    r192464 r192602  
    135135    $(WebCore)/Modules/mediastream/MediaTrackConstraints.idl \
    136136    $(WebCore)/Modules/mediastream/MediaTrackConstraintSet.idl \
     137    $(WebCore)/Modules/mediastream/MediaTrackSupportedConstraints.idl \
    137138    $(WebCore)/Modules/mediastream/NavigatorMediaDevices.idl \
    138139    $(WebCore)/Modules/mediastream/NavigatorUserMedia.idl \
  • trunk/Source/WebCore/Modules/mediastream/MediaDevices.cpp

    r189982 r192602  
    3838#include "MediaDevicesRequest.h"
    3939#include "MediaStream.h"
     40#include "MediaTrackSupportedConstraints.h"
     41#include "RealtimeMediaSourceCenter.h"
    4042#include "UserMediaController.h"
    4143#include "UserMediaRequest.h"
     
    7476}
    7577
     78RefPtr<MediaTrackSupportedConstraints> MediaDevices::getSupportedConstraints()
     79{
     80    return MediaTrackSupportedConstraints::create(RealtimeMediaSourceCenter::singleton().supportedConstraints());
     81}
     82
    7683} // namespace WebCore
    7784
  • trunk/Source/WebCore/Modules/mediastream/MediaDevices.h

    r191547 r192602  
    4747class Document;
    4848class MediaStream;
     49class MediaTrackSupportedConstraints;
    4950class NavigatorUserMediaError;
    5051
     
    6364    void getUserMedia(const Dictionary&, Promise&&, ExceptionCode&) const;
    6465    void enumerateDevices(EnumerateDevicesPromise&&, ExceptionCode&) const;
     66    RefPtr<MediaTrackSupportedConstraints> getSupportedConstraints();
    6567
    6668private:
  • trunk/Source/WebCore/Modules/mediastream/MediaDevices.idl

    r191547 r192602  
    3333    Conditional=MEDIA_STREAM
    3434] interface MediaDevices {
     35    MediaTrackSupportedConstraints getSupportedConstraints();
     36
    3537    [JSBuiltin] Promise getUserMedia(Dictionary options);
    3638    [RaisesException] Promise enumerateDevices();
  • trunk/Source/WebCore/PlatformGTK.cmake

    r192247 r192602  
    685685    Modules/mediastream/MediaDevices.idl
    686686    Modules/mediastream/NavigatorMediaDevices.idl
     687    Modules/mediastream/MediaTrackSupportedConstraints.idl
    687688
    688689    Modules/quota/StorageInfo.idl
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r192575 r192602  
    131131                0720B0A014D3323500642955 /* GenericEventQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0720B09E14D3323500642955 /* GenericEventQueue.cpp */; };
    132132                0720B0A114D3323500642955 /* GenericEventQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0720B09F14D3323500642955 /* GenericEventQueue.h */; settings = {ATTRIBUTES = (Private, ); }; };
     133                072560FB1BFC2482004F9359 /* JSMediaTrackSupportedConstraintsCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C1C0E61BFB90A700BD2256 /* JSMediaTrackSupportedConstraintsCustom.cpp */; settings = {ASSET_TAGS = (); }; };
    133134                07277E4C17D018CC0015534D /* JSMediaStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07277E4017D018CC0015534D /* JSMediaStream.cpp */; };
    134135                07277E4D17D018CC0015534D /* JSMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 07277E4117D018CC0015534D /* JSMediaStream.h */; };
     
    212213                07846343145B151A00A58DF1 /* JSTrackEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07846341145B151A00A58DF1 /* JSTrackEvent.h */; };
    213214                07846385145B1B8E00A58DF1 /* JSTrackCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = 07846384145B1B8E00A58DF1 /* JSTrackCustom.h */; };
     215                0787C4691BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0787C4671BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.cpp */; settings = {ASSET_TAGS = (); }; };
     216                0787C46A1BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 0787C4681BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.h */; settings = {ASSET_TAGS = (); }; };
    214217                078E08FE17D14CEE00420AA1 /* MediaConstraintsImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07221B4A17CEC32700848E51 /* MediaConstraintsImpl.cpp */; };
    215218                078E08FF17D14CEE00420AA1 /* MediaStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07221B4C17CEC32700848E51 /* MediaStream.cpp */; };
     
    315318                07B5A30D14687D7100A81ECE /* JSTextTrackListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */; };
    316319                07BDD6EC1469B4C2009C9F85 /* JSTrackEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B5A30A14687B8400A81ECE /* JSTrackEventCustom.cpp */; };
     320                07C1C0E21BFB600100BD2256 /* MediaTrackSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */; settings = {ASSET_TAGS = (); }; };
     321                07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */; settings = {ATTRIBUTES = (Private, ); }; };
    317322                07C59B6817F784BA000FBCBB /* MediaSourceStates.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C59B6517F784BA000FBCBB /* MediaSourceStates.cpp */; };
    318323                07C59B6917F784BA000FBCBB /* MediaSourceStates.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C59B6617F784BA000FBCBB /* MediaSourceStates.h */; };
     
    75417546                07846341145B151A00A58DF1 /* JSTrackEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTrackEvent.h; sourceTree = "<group>"; };
    75427547                07846384145B1B8E00A58DF1 /* JSTrackCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTrackCustom.h; sourceTree = "<group>"; };
     7548                0787C4671BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaTrackSupportedConstraints.cpp; sourceTree = "<group>"; };
     7549                0787C4681BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaTrackSupportedConstraints.h; sourceTree = "<group>"; };
    75437550                078E094817D1709600420AA1 /* MediaStreamAudioDestinationNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaStreamAudioDestinationNode.cpp; sourceTree = "<group>"; };
    75447551                078E094917D1709600420AA1 /* MediaStreamAudioDestinationNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaStreamAudioDestinationNode.h; sourceTree = "<group>"; };
     
    75967603                07B5A30A14687B8400A81ECE /* JSTrackEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTrackEventCustom.cpp; sourceTree = "<group>"; };
    75977604                07B5A30C14687D7100A81ECE /* JSTextTrackListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTextTrackListCustom.cpp; sourceTree = "<group>"; };
     7605                07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaTrackSupportedConstraints.h; sourceTree = "<group>"; };
     7606                07C1C0E11BFB600100BD2256 /* MediaTrackSupportedConstraints.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaTrackSupportedConstraints.idl; sourceTree = "<group>"; };
     7607                07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceSupportedConstraints.h; sourceTree = "<group>"; };
     7608                07C1C0E61BFB90A700BD2256 /* JSMediaTrackSupportedConstraintsCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaTrackSupportedConstraintsCustom.cpp; sourceTree = "<group>"; };
    75987609                07C59B6517F784BA000FBCBB /* MediaSourceStates.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceStates.cpp; sourceTree = "<group>"; };
    75997610                07C59B6617F784BA000FBCBB /* MediaSourceStates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceStates.h; sourceTree = "<group>"; };
     
    1517415185                                0705852617FDE02B005F2BCB /* MediaTrackConstraintSet.h */,
    1517515186                                0705852717FDE02B005F2BCB /* MediaTrackConstraintSet.idl */,
     15187                                07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */,
     15188                                07C1C0E11BFB600100BD2256 /* MediaTrackSupportedConstraints.idl */,
    1517615189                                5EA725CA1ACABCB500EAD17B /* NavigatorMediaDevices.cpp */,
    1517715190                                5EA725CB1ACABCB500EAD17B /* NavigatorMediaDevices.h */,
     
    1525715270                                07FFDE66181AED420072D409 /* MediaStreamTrackPrivate.cpp */,
    1525815271                                07FFDE67181AED420072D409 /* MediaStreamTrackPrivate.h */,
     15272                                07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */,
    1525915273                                076306E217E22A43005A7C4E /* MediaStreamTrackSourcesRequestClient.h */,
    1526015274                                4A4F656B1AA997F100E38CDD /* RealtimeMediaSource.cpp */,
     
    1538215396                                0705852F17FDE6D9005F2BCB /* JSMediaTrackConstraintSet.cpp */,
    1538315397                                0705853017FDE6D9005F2BCB /* JSMediaTrackConstraintSet.h */,
     15398                                0787C4671BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.cpp */,
     15399                                0787C4681BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.h */,
    1538415400                                073BE33E17D17E01002BD431 /* JSNavigatorUserMedia.cpp */,
    1538515401                                073BE33F17D17E01002BD431 /* JSNavigatorUserMedia.h */,
     
    2213522151                                0705851617FB40E9005F2BCB /* JSMediaStreamCapabilitiesCustom.cpp */,
    2213622152                                E1A5F99A0E7EAA2500AF85EA /* JSMessageChannelCustom.cpp */,
     22153                                07C1C0E61BFB90A700BD2256 /* JSMediaTrackSupportedConstraintsCustom.cpp */,
    2213722154                                410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */,
    2213822155                                E1ADED460E76B8DD004A1A5E /* JSMessagePortCustom.cpp */,
     
    2567025687                                0F580B0E0F12A2690051D689 /* GraphicsLayerClient.h in Headers */,
    2567125688                                1AC69593161A1E53003732CB /* GraphicsLayerFactory.h in Headers */,
     25689                                0787C46A1BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.h in Headers */,
    2567225690                                0FA24D7A162DF91900A3F4C0 /* GraphicsLayerUpdater.h in Headers */,
    2567325691                                CEC337AF1A46086D009B8523 /* GraphicsServicesSPI.h in Headers */,
     
    2676226780                                0705852417FDC140005F2BCB /* MediaTrackConstraints.h in Headers */,
    2676326781                                0705852917FDE02C005F2BCB /* MediaTrackConstraintSet.h in Headers */,
     26782                                07C1C0E21BFB600100BD2256 /* MediaTrackSupportedConstraints.h in Headers */,
    2676426783                                99C7CCB318C663E40032E413 /* MemoizedDOMResult.h in Headers */,
    2676526784                                51E1BAC31BD8064E0055D81F /* MemoryBackingStoreTransaction.h in Headers */,
     
    2706427083                                4A0FFAA61AAF5EF60062803B /* RealtimeMediaSourceCenterMac.h in Headers */,
    2706527084                                4A4F65741AA997F100E38CDD /* RealtimeMediaSourceStates.h in Headers */,
     27085                                07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */,
    2706627086                                BC4368E80C226E32005EFB5F /* Rect.h in Headers */,
    2706727087                                FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */,
     
    3059730617                                B27535640B053814002CE64F /* PDFDocumentImage.cpp in Sources */,
    3059830618                                2D6E468417D660F500ECF8BB /* PDFDocumentImageMac.mm in Sources */,
    30599                                 5E2C43501BCEE2F60001E2BC /* PeerConnectionBackend.cpp in Sources */,
    3060030619                                8A7CC97012076F8A001D4588 /* PendingScript.cpp in Sources */,
    3060130620                                E526AF3F1727F8F200E41781 /* Performance.cpp in Sources */,
     
    3103831057                                8386A97019F61E4F00E1EC4A /* StyleBuilder.cpp in Sources */,
    3103931058                                BCEF447A0E6747D0001C1287 /* StyleCachedImage.cpp in Sources */,
     31059                                0787C4691BFBDF6F006DCD7F /* JSMediaTrackSupportedConstraints.cpp in Sources */,
    3104031060                                9393E604151A9A1800066F06 /* StyleCachedImageSet.cpp in Sources */,
    3104131061                                A8C4A7FE09D563270003AC8D /* StyledElement.cpp in Sources */,
     
    3136031380                                6593923709AE4346002C531F /* URL.cpp in Sources */,
    3136131381                                1A98956B0AA78F80005EF5EF /* URLCF.cpp in Sources */,
     31382                                072560FB1BFC2482004F9359 /* JSMediaTrackSupportedConstraintsCustom.cpp in Sources */,
    3136231383                                267726041A5DF6F2003C24DD /* URLFilterParser.cpp in Sources */,
    3136331384                                F55B3DDD1251F12D003EF269 /* URLInputType.cpp in Sources */,
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h

    r190072 r192602  
    3636
    3737#include "RealtimeMediaSource.h"
     38#include "RealtimeMediaSourceSupportedConstraints.h"
    3839#include <wtf/PassRefPtr.h>
    3940#include <wtf/text/WTFString.h>
     
    4344class MediaConstraints;
    4445class MediaStreamCreationClient;
     46class MediaStreamTrackSourcesRequestClient;
    4547class RealtimeMediaSourceStates;
    46 class MediaStreamTrackSourcesRequestClient;
     48class RealtimeMediaSourceSupportedConstraints;
    4749class TrackSourceInfo;
    4850
     
    6466    virtual RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) = 0;
    6567
     68    virtual const RealtimeMediaSourceSupportedConstraints& supportedConstraints() { return m_supportedConstraints; }
     69
    6670protected:
    6771    RealtimeMediaSourceCenter();
    6872
    6973    static RealtimeMediaSourceCenter& platformCenter();
     74    RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
    7075};
    7176
  • trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp

    r190362 r192602  
    5151RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac()
    5252{
     53    m_supportedConstraints.setSupportsWidth(true);
     54    m_supportedConstraints.setSupportsHeight(true);
     55    m_supportedConstraints.setSupportsAspectRatio(true);
     56    m_supportedConstraints.setSupportsFrameRate(true);
     57    m_supportedConstraints.setSupportsFacingMode(true);
     58    m_supportedConstraints.setSupportsVolume(true);
     59    m_supportedConstraints.setSupportsSampleRate(false);
     60    m_supportedConstraints.setSupportsSampleSize(false);
     61    m_supportedConstraints.setSupportsEchoCancellation(false);
     62    m_supportedConstraints.setSupportsDeviceId(true);
     63    m_supportedConstraints.setSupportsGroupId(true);
    5364}
    5465
  • trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h

    r190072 r192602  
    4444public:
    4545    RealtimeMediaSourceCenterMac();
     46
     47private:
    4648    ~RealtimeMediaSourceCenterMac();
    4749
  • trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp

    r192365 r192602  
    8282}
    8383
    84 #if 0
    85 
    86 #endif
    87 
    8884MockRealtimeMediaSource::MockRealtimeMediaSource(const String& id, RealtimeMediaSource::Type type, const String& name)
    8985    : RealtimeMediaSource(id, type, name)
  • trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp

    r192174 r192602  
    5555        RealtimeMediaSourceCenter::setSharedStreamCenter(&center);
    5656    }
     57}
     58
     59MockRealtimeMediaSourceCenter::MockRealtimeMediaSourceCenter()
     60{
     61    m_supportedConstraints.setSupportsWidth(true);
     62    m_supportedConstraints.setSupportsHeight(true);
     63    m_supportedConstraints.setSupportsAspectRatio(true);
     64    m_supportedConstraints.setSupportsFrameRate(true);
     65    m_supportedConstraints.setSupportsFacingMode(true);
     66    m_supportedConstraints.setSupportsVolume(true);
     67    m_supportedConstraints.setSupportsDeviceId(true);
    5768}
    5869
  • trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h

    r190072 r192602  
    3939
    4040private:
     41    MockRealtimeMediaSourceCenter();
    4142
    4243    void validateRequestConstraints(MediaStreamCreationClient*, RefPtr<MediaConstraints>& audioConstraints, RefPtr<MediaConstraints>& videoConstraints) override;
     
    4546    void createMediaStream(MediaStreamCreationClient*, const String& audioDeviceID, const String& videoDeviceID) override;
    4647    RefPtr<TrackSourceInfo> sourceWithUID(const String&, RealtimeMediaSource::Type, MediaConstraints*) override;
    47 
    48     MockRealtimeMediaSourceCenter() { }
    4948};
    5049
Note: See TracChangeset for help on using the changeset viewer.