Index: Source/modules/mediastream/RTCPeerConnection.cpp |
diff --git a/Source/modules/mediastream/RTCPeerConnection.cpp b/Source/modules/mediastream/RTCPeerConnection.cpp |
index 35c54543cdf8005334eb32ffeb21acbba6454516..dfe5562eb12f1067ef5e3646001c312d09626e77 100644 |
--- a/Source/modules/mediastream/RTCPeerConnection.cpp |
+++ b/Source/modules/mediastream/RTCPeerConnection.cpp |
@@ -606,12 +606,7 @@ void RTCPeerConnection::close(ExceptionState& exceptionState) |
if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) |
return; |
- m_peerHandler->stop(); |
- m_closed = true; |
- |
- changeIceConnectionState(ICEConnectionStateClosed); |
- changeIceGatheringState(ICEGatheringStateComplete); |
- changeSignalingState(SignalingStateClosed); |
+ doClose(); |
} |
void RTCPeerConnection::negotiationNeeded() |
@@ -707,6 +702,11 @@ void RTCPeerConnection::releasePeerConnectionHandler() |
stop(); |
} |
+void RTCPeerConnection::closePeerConnection() |
jiayl
2014/08/15 16:12:38
We should make sure the PC is not already closed e
vrk (LEFT CHROMIUM)
2014/08/16 00:36:25
Good point. I added a few asserts here. Done.
|
+{ |
+ doClose(); |
+} |
+ |
const AtomicString& RTCPeerConnection::interfaceName() const |
{ |
return EventTargetNames::RTCPeerConnection; |
@@ -767,6 +767,16 @@ void RTCPeerConnection::changeIceConnectionState(ICEConnectionState iceConnectio |
} |
} |
+void RTCPeerConnection::doClose() |
+{ |
+ m_peerHandler->stop(); |
+ m_closed = true; |
+ |
+ changeIceConnectionState(ICEConnectionStateClosed); |
+ changeIceGatheringState(ICEGatheringStateComplete); |
+ changeSignalingState(SignalingStateClosed); |
+} |
+ |
void RTCPeerConnection::scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event> event) |
{ |
m_scheduledEvents.append(event); |