Modifying RTCIceCandidate object construction to match the spec
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Nov 2013 19:34:16 +0000 (19:34 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Nov 2013 19:34:16 +0000 (19:34 +0000)
commita9e59587598836e2a16b25ca6279f206bbdc23fd
tree6d1e7c89ed18447ef3f4327621b44f2cc82cb1ba
parentb95e46a38a48780d607a21ed8b913dd21a6a425a
Modifying RTCIceCandidate object construction to match the spec
https://bugs.webkit.org/show_bug.cgi?id=124369

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-15
Reviewed by Eric Carlson.

According to the spec the RTCIceCandidateInit parameter in RTCSessionDescription constructor is optional,
which must not be nullable, and, if passed, must be a valid Dictionary. If the keys are not present, the string
object that stores them in the RTCIceCandidate class, must be null in those cases. Also, if a key is present
and its value is not valid an exception must be raised.

Source/WebCore:

Existing test was updated.

* GNUmakefile.list.am:
* Modules/mediastream/RTCIceCandidate.cpp:
(WebCore::RTCIceCandidate::create):
* Modules/mediastream/RTCIceCandidate.idl:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSRTCIceCandidateCustom.cpp: Added.
(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):

LayoutTests:

* fast/mediastream/RTCIceCandidate-expected.txt:
* fast/mediastream/RTCIceCandidate.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/mediastream/RTCIceCandidate-expected.txt
LayoutTests/fast/mediastream/RTCIceCandidate.html
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp
Source/WebCore/Modules/mediastream/RTCIceCandidate.idl
Source/WebCore/UseJSC.cmake
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/js/JSRTCIceCandidateCustom.cpp [new file with mode: 0644]