Index: Source/modules/mediastream/RTCPeerConnection.cpp |
diff --git a/Source/modules/mediastream/RTCPeerConnection.cpp b/Source/modules/mediastream/RTCPeerConnection.cpp |
index 5199f337a837dbf41e2c002c1f821da7c5f7d400..51a5d99241a3b761e296aeab803183121f94da90 100644 |
--- a/Source/modules/mediastream/RTCPeerConnection.cpp |
+++ b/Source/modules/mediastream/RTCPeerConnection.cpp |
@@ -241,8 +241,6 @@ |
RTCPeerConnection::RTCPeerConnection(ExecutionContext* context, RTCConfiguration* configuration, WebMediaConstraints constraints, ExceptionState& exceptionState) |
: ActiveDOMObject(context) |
- , m_pendingLocalDescription(nullptr) |
- , m_pendingRemoteDescription(nullptr) |
, m_signalingState(SignalingStateStable) |
, m_iceGatheringState(ICEGatheringStateNew) |
, m_iceConnectionState(ICEConnectionStateNew) |
@@ -277,8 +275,6 @@ |
exceptionState.throwDOMException(NotSupportedError, "Failed to initialize native PeerConnection."); |
return; |
} |
- m_localDescription = RTCSessionDescription::create(m_peerHandler->localDescription()); |
- m_remoteDescription = RTCSessionDescription::create(m_peerHandler->remoteDescription()); |
} |
RTCPeerConnection::~RTCPeerConnection() |
@@ -337,25 +333,17 @@ |
return; |
} |
- RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback, RTCVoidRequestImpl::RequestTypeLocal); |
+ RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback); |
m_peerHandler->setLocalDescription(request, sessionDescription->webSessionDescription()); |
- m_pendingLocalDescription = sessionDescription; |
-} |
- |
-RTCSessionDescription* RTCPeerConnection::localDescription() |
-{ |
- if (!m_peerHandler) |
- return nullptr; |
+} |
+ |
+RTCSessionDescription* RTCPeerConnection::localDescription(ExceptionState& exceptionState) |
+{ |
WebRTCSessionDescription webSessionDescription = m_peerHandler->localDescription(); |
if (webSessionDescription.isNull()) |
return nullptr; |
- if (!m_localDescription || m_localDescription->webSessionDescription().isNull() |
- || m_localDescription->webSessionDescription() != webSessionDescription) { |
- m_localDescription = RTCSessionDescription::create(webSessionDescription); |
- } |
- |
- return m_localDescription; |
+ return RTCSessionDescription::create(webSessionDescription); |
} |
void RTCPeerConnection::setRemoteDescription(RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCErrorCallback* errorCallback, ExceptionState& exceptionState) |
@@ -368,25 +356,17 @@ |
return; |
} |
- RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback, RTCVoidRequestImpl::RequestTypeRemote); |
+ RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback); |
m_peerHandler->setRemoteDescription(request, sessionDescription->webSessionDescription()); |
- m_pendingRemoteDescription = sessionDescription; |
-} |
- |
-RTCSessionDescription* RTCPeerConnection::remoteDescription() |
-{ |
- if (!m_peerHandler) |
- return nullptr; |
+} |
+ |
+RTCSessionDescription* RTCPeerConnection::remoteDescription(ExceptionState& exceptionState) |
+{ |
WebRTCSessionDescription webSessionDescription = m_peerHandler->remoteDescription(); |
if (webSessionDescription.isNull()) |
return nullptr; |
- if (!m_remoteDescription || m_remoteDescription->webSessionDescription().isNull() |
- || m_remoteDescription->webSessionDescription() != webSessionDescription) { |
- m_remoteDescription = RTCSessionDescription::create(webSessionDescription); |
- } |
- |
- return m_remoteDescription; |
+ return RTCSessionDescription::create(webSessionDescription); |
} |
void RTCPeerConnection::updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionState& exceptionState) |
@@ -434,7 +414,7 @@ |
ASSERT(successCallback); |
ASSERT(errorCallback); |
- RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback, RTCVoidRequestImpl::RequestTypeNone); |
+ RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback); |
bool implemented = m_peerHandler->addICECandidate(request, iceCandidate->webCandidate()); |
if (!implemented) { |
@@ -647,15 +627,6 @@ |
closeInternal(); |
} |
-void RTCPeerConnection::requestSucceeded(RTCVoidRequestImpl::RequestType requestType) |
-{ |
- if (requestType == RTCVoidRequestImpl::RequestTypeLocal) { |
- commitPendingLocalSessionDescription(); |
- } else if (requestType == RTCVoidRequestImpl::RequestTypeRemote) { |
- commitPendingRemoteSessionDescription(); |
- } |
-} |
- |
void RTCPeerConnection::negotiationNeeded() |
{ |
ASSERT(!m_closed); |
@@ -826,16 +797,6 @@ |
changeSignalingState(SignalingStateClosed); |
} |
-void RTCPeerConnection::commitPendingLocalSessionDescription() |
-{ |
- m_localDescription = m_pendingLocalDescription; |
-} |
- |
-void RTCPeerConnection::commitPendingRemoteSessionDescription() |
-{ |
- m_remoteDescription = m_pendingRemoteDescription; |
-} |
- |
void RTCPeerConnection::scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event> event) |
{ |
m_scheduledEvents.append(event); |
@@ -863,10 +824,6 @@ |
visitor->trace(m_localStreams); |
visitor->trace(m_remoteStreams); |
visitor->trace(m_dataChannels); |
- visitor->trace(m_localDescription); |
- visitor->trace(m_remoteDescription); |
- visitor->trace(m_pendingLocalDescription); |
- visitor->trace(m_pendingRemoteDescription); |
#if ENABLE(OILPAN) |
visitor->trace(m_scheduledEvents); |
#endif |