Skip to content
  • tommyw@google.com's avatar
    MediaStream API: Introduce MediaConstraints · d6365cf7
    tommyw@google.com authored
    https://bugs.webkit.org/show_bug.cgi?id=95198
    
    Reviewed by Adam Barth.
    
    Source/Platform:
    
    Adds WebMediaConstraints.
    
    * Platform.gypi:
    * chromium/public/WebMediaConstraints.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
    (WebCore):
    (WebKit):
    (WebMediaConstraints):
    (WebKit::WebMediaConstraints::WebMediaConstraints):
    (WebKit::WebMediaConstraints::~WebMediaConstraints):
    (WebKit::WebMediaConstraints::operator=):
    * chromium/public/WebRTCPeerConnectionHandler.h:
    (WebKit):
    (WebRTCPeerConnectionHandler):
    
    Source/WebCore:
    
    This introduces MediaConstraints together with relevant infrastructure, a chromium mock and LayoutTests.
    
    Patch covered by expanded existing tests.
    
    * CMakeLists.txt:
    * GNUmakefile.list.am:
    * Modules/mediastream/MediaConstraintsImpl.cpp: Added.
    (WebCore):
    (WebCore::MediaConstraintsImpl::create):
    (WebCore::MediaConstraintsImpl::initialize):
    (WebCore::MediaConstraintsImpl::~MediaConstraintsImpl):
    (WebCore::MediaConstraintsImpl::getMandatoryConstraintNames):
    (WebCore::MediaConstraintsImpl::getOptionalConstraintNames):
    (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
    (WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
    * Modules/mediastream/MediaConstraintsImpl.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
    (WebCore):
    (MediaConstraintsImpl):
    (WebCore::MediaConstraintsImpl::MediaConstraintsImpl):
    * Modules/mediastream/RTCPeerConnection.cpp:
    (WebCore::RTCPeerConnection::create):
    (WebCore::RTCPeerConnection::RTCPeerConnection):
    * Modules/mediastream/RTCPeerConnection.h:
    (WebCore):
    (RTCPeerConnection):
    * WebCore.gypi:
    * bindings/js/Dictionary.cpp:
    (WebCore::Dictionary::getOwnPropertyNames):
    (WebCore):
    * bindings/js/Dictionary.h:
    (Dictionary):
    * bindings/v8/Dictionary.cpp:
    (WebCore::Dictionary::getOwnPropertyNames):
    (WebCore):
    * bindings/v8/Dictionary.h:
    (Dictionary):
    * platform/chromium/support/WebMediaConstraints.cpp: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp.
    (WebKit):
    (WebKit::WebMediaConstraints::WebMediaConstraints):
    (WebKit::WebMediaConstraints::assign):
    (WebKit::WebMediaConstraints::reset):
    (WebKit::WebMediaConstraints::isNull):
    (WebKit::WebMediaConstraints::getMandatoryConstraintNames):
    (WebKit::WebMediaConstraints::getOptionalConstraintNames):
    (WebKit::WebMediaConstraints::getMandatoryConstraintValue):
    (WebKit::WebMediaConstraints::getOptionalConstraintValue):
    * platform/mediastream/MediaConstraints.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
    (WebCore):
    (MediaConstraints):
    (WebCore::MediaConstraints::~MediaConstraints):
    (WebCore::MediaConstraints::MediaConstraints):
    * platform/mediastream/RTCPeerConnectionHandler.cpp:
    (RTCPeerConnectionHandlerDummy):
    (WebCore::RTCPeerConnectionHandlerDummy::initialize):
    * platform/mediastream/RTCPeerConnectionHandler.h:
    (WebCore):
    (RTCPeerConnectionHandler):
    * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
    (WebCore::RTCPeerConnectionHandlerChromium::initialize):
    * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
    (RTCPeerConnectionHandlerChromium):
    
    Tools:
    
    Extending the MockWebRTCPeerConnectionHandler with MediaConstraints functionality.
    
    * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
    (MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
    (isSupportedConstraint):
    (isValidConstraint):
    (MockWebRTCPeerConnectionHandler::initialize):
    * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
    (MockWebRTCPeerConnectionHandler):
    
    LayoutTests:
    
    * fast/mediastream/RTCPeerConnection-expected.txt:
    * fast/mediastream/RTCPeerConnection.html:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    d6365cf7