Chromium Code Reviews| 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); |