Changeset 155954 in webkit
- Timestamp:
- Sep 17, 2013 7:52:37 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r155947 r155954 1 2013-09-17 Eric Carlson <eric.carlson@apple.com> 2 3 MediaStream API: Adding an async RTCPeerConnection::addIceCandidate 4 https://bugs.webkit.org/show_bug.cgi?id=121403 5 6 Reviewed by Darin Adler. 7 8 * fast/mediastream/RTCPeerConnection-ice-expected.txt: 9 * fast/mediastream/RTCPeerConnection-ice.html: 10 1 11 2013-09-17 Mihnea Ovidenie <mihnea@adobe.com> 2 12 -
trunk/LayoutTests/fast/mediastream/RTCPeerConnection-ice-expected.txt
r140310 r155954 6 6 PASS pc = new webkitRTCPeerConnection(null, null); did not throw exception. 7 7 PASS iceConnectionState is completed 8 PASS onIceCandidate was called. 9 PASS event.candidate.candidate is "nano nano" 8 PASS pc.addIceCandidate(null, null, null); threw exception TypeError: Type error. 9 PASS pc.addIceCandidate(iceCandidate, null, null); threw exception TypeError: Type error. 10 PASS pc.addIceCandidate(iceCandidate, addIceCandidateSuccess, null); threw exception TypeError: Type error. 11 PASS pc.addIceCandidate(iceCandidate, addIceCandidateSuccess, addIceCandidateFailure); did not throw exception. 12 PASS addIceCandidateSuccess was called. 10 13 PASS iceConnectionState is closed. 11 14 PASS successfullyParsed is true -
trunk/LayoutTests/fast/mediastream/RTCPeerConnection-ice.html
r155270 r155954 9 9 10 10 var pc = null; 11 var iceCandidate = null; 11 12 12 13 function onIceChange2() … … 18 19 } 19 20 20 function onIceCandidate(event)21 function addIceCandidateSuccess() 21 22 { 22 testPassed("onIceCandidate was called."); 23 shouldBe('event.candidate.candidate', '"nano nano"'); 24 23 testPassed("addIceCandidateSuccess was called."); 25 24 pc.oniceconnectionstatechange = onIceChange2; 26 25 pc.close(); 26 } 27 28 function addIceCandidateFailure() 29 { 30 testFailed("addIceCandidateFailue was called."); 31 finishJSTest(); 27 32 } 28 33 … … 31 36 if (pc.iceConnectionState === "completed") { 32 37 testPassed("iceConnectionState is completed"); 33 pc.onicecandidate = onIceCandidate; 34 pc.addIceCandidate(new RTCIceCandidate({candidate:"nano nano"})); 38 iceCandidate = new RTCIceCandidate({candidate:"nano nano"}); 39 shouldThrow('pc.addIceCandidate(null, null, null);'); 40 shouldThrow('pc.addIceCandidate(iceCandidate, null, null);'); 41 shouldThrow('pc.addIceCandidate(iceCandidate, addIceCandidateSuccess, null);'); 42 shouldNotThrow('pc.addIceCandidate(iceCandidate, addIceCandidateSuccess, addIceCandidateFailure);'); 35 43 } 36 44 } -
trunk/Source/WebCore/ChangeLog
r155952 r155954 1 2013-09-17 Eric Carlson <eric.carlson@apple.com> 2 3 MediaStream API: Adding an async RTCPeerConnection::addIceCandidate 4 https://bugs.webkit.org/show_bug.cgi?id=121403 5 6 Merged from https://chromium.googlesource.com/chromium/blink/+/5bd81fda88d48dd2780832246e7d1ab973ee7a1d 7 8 Reviewed by Darin Adler. 9 10 No new tests, updated RTCPeerConnection-ice.html. 11 12 * Modules/mediastream/RTCPeerConnection.cpp: 13 (WebCore::RTCPeerConnection::addIceCandidate): Add success and error callbacks. 14 * Modules/mediastream/RTCPeerConnection.h: 15 * Modules/mediastream/RTCPeerConnection.idl: 16 17 * platform/mediastream/RTCPeerConnectionHandler.h: Changed addIceCandidate signature. 18 19 * platform/mediastream/RTCVoidRequest.h: Removed ExtraData, it is unnecessary. 20 1 21 2013-09-17 Carlos Garcia Campos <cgarcia@igalia.com> 2 22 -
trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
r155794 r155954 285 285 } 286 286 287 void RTCPeerConnection::addIceCandidate(RTCIceCandidate* iceCandidate, ExceptionCode& ec) 288 { 289 if (m_signalingState == SignalingStateClosed) { 290 ec = INVALID_STATE_ERR; 291 return; 292 } 293 294 if (!iceCandidate) { 295 ec = TYPE_MISMATCH_ERR; 296 return; 297 } 298 299 bool valid = m_peerHandler->addIceCandidate(iceCandidate->descriptor()); 300 if (!valid) 287 void RTCPeerConnection::addIceCandidate(RTCIceCandidate* iceCandidate, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, ExceptionCode& ec) 288 { 289 if (m_signalingState == SignalingStateClosed) { 290 ec = INVALID_STATE_ERR; 291 return; 292 } 293 294 if (!iceCandidate || !successCallback || !errorCallback) { 295 ec = TYPE_MISMATCH_ERR; 296 return; 297 } 298 299 RefPtr<RTCVoidRequestImpl> request = RTCVoidRequestImpl::create(scriptExecutionContext(), successCallback, errorCallback); 300 301 bool implemented = m_peerHandler->addIceCandidate(request.release(), iceCandidate->descriptor()); 302 if (!implemented) 301 303 ec = SYNTAX_ERR; 302 304 } -
trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h
r155478 r155954 78 78 void updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionCode&); 79 79 80 void addIceCandidate(RTCIceCandidate*, ExceptionCode&);80 void addIceCandidate(RTCIceCandidate*, PassRefPtr<VoidCallback>, PassRefPtr<RTCErrorCallback>, ExceptionCode&); 81 81 82 82 String iceGatheringState() const; -
trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl
r151495 r155954 52 52 [RaisesException] void updateIce(optional Dictionary configuration, optional Dictionary mediaConstraints); 53 53 54 [RaisesException] void addIceCandidate(RTCIceCandidate candidate );54 [RaisesException] void addIceCandidate(RTCIceCandidate candidate, VoidCallback successCallback, RTCErrorCallback failureCallback); 55 55 56 56 readonly attribute DOMString iceGatheringState; -
trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h
r155794 r155954 82 82 virtual PassRefPtr<RTCSessionDescriptionDescriptor> remoteDescription() = 0; 83 83 virtual bool updateIce(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) = 0; 84 virtual bool addIceCandidate(PassRefPtr<RTC IceCandidateDescriptor>) = 0;84 virtual bool addIceCandidate(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCIceCandidateDescriptor>) = 0; 85 85 virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) = 0; 86 86 virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) = 0; -
trunk/Source/WebCore/platform/mediastream/RTCVoidRequest.h
r127766 r155954 43 43 class RTCVoidRequest : public RefCounted<RTCVoidRequest> { 44 44 public: 45 class ExtraData : public RefCounted<ExtraData> {46 public:47 virtual ~ExtraData() { }48 };49 50 45 virtual ~RTCVoidRequest() { } 51 46 … … 53 48 virtual void requestFailed(const String& error) = 0; 54 49 55 PassRefPtr<ExtraData> extraData() const { return m_extraData; }56 void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; }57 58 50 protected: 59 51 RTCVoidRequest() { } 60 61 private:62 RefPtr<ExtraData> m_extraData;63 52 }; 64 53
Note: See TracChangeset
for help on using the changeset viewer.