Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(803)

Unified Diff: third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp

Issue 1729563002: Replace RTCErrorCallback with RTCPeerConnectionErrorCallback. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add missing files Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp
diff --git a/third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp b/third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp
index e9d8a83a8216914370e554a463933fb421ee3a09..242c7341a8249410a0b7cc9b3331e1fc86715b0e 100644
--- a/third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp
+++ b/third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp
@@ -55,8 +55,8 @@
#include "modules/mediastream/RTCDTMFSender.h"
#include "modules/mediastream/RTCDataChannel.h"
#include "modules/mediastream/RTCDataChannelEvent.h"
-#include "modules/mediastream/RTCErrorCallback.h"
#include "modules/mediastream/RTCIceCandidateEvent.h"
+#include "modules/mediastream/RTCPeerConnectionErrorCallback.h"
#include "modules/mediastream/RTCSessionDescription.h"
#include "modules/mediastream/RTCSessionDescriptionCallback.h"
#include "modules/mediastream/RTCSessionDescriptionInit.h"
@@ -103,40 +103,40 @@ bool throwExceptionIfSignalingStateClosed(RTCPeerConnection::SignalingState stat
// Helper class for running error callbacks asynchronously
class ErrorCallbackTask : public WebTaskRunner::Task {
public:
- static PassOwnPtr<ErrorCallbackTask> create(RTCErrorCallback* errorCallback, const String& errorMessage)
+ static PassOwnPtr<ErrorCallbackTask> create(RTCPeerConnectionErrorCallback* errorCallback, DOMException* exception)
{
- return adoptPtr(new ErrorCallbackTask(errorCallback, errorMessage));
+ return adoptPtr(new ErrorCallbackTask(errorCallback, exception));
}
~ErrorCallbackTask() override = default;
void run() override
{
- m_errorCallback->handleEvent(m_errorMessage);
+ m_errorCallback->handleEvent(m_exception);
}
private:
- ErrorCallbackTask(RTCErrorCallback* errorCallback, const String& errorMessage)
+ ErrorCallbackTask(RTCPeerConnectionErrorCallback* errorCallback, DOMException* exception)
: m_errorCallback(errorCallback)
- , m_errorMessage(errorMessage)
+ , m_exception(exception)
{
ASSERT(errorCallback);
}
- Persistent<RTCErrorCallback> m_errorCallback;
- String m_errorMessage;
+ Persistent<RTCPeerConnectionErrorCallback> m_errorCallback;
+ Persistent<DOMException> m_exception;
};
-void asyncCallErrorCallback(RTCErrorCallback* errorCallback, const String& errorMessage)
+void asyncCallErrorCallback(RTCPeerConnectionErrorCallback* errorCallback, DOMException* exception)
{
- Microtask::enqueueMicrotask(ErrorCallbackTask::create(errorCallback, errorMessage));
+ Microtask::enqueueMicrotask(ErrorCallbackTask::create(errorCallback, exception));
}
-bool callErrorCallbackIfSignalingStateClosed(RTCPeerConnection::SignalingState state, RTCErrorCallback* errorCallback)
+bool callErrorCallbackIfSignalingStateClosed(RTCPeerConnection::SignalingState state, RTCPeerConnectionErrorCallback* errorCallback)
{
if (state == RTCPeerConnection::SignalingStateClosed) {
if (errorCallback)
- asyncCallErrorCallback(errorCallback, kSignalingStateClosedMessage);
+ asyncCallErrorCallback(errorCallback, DOMException::create(InvalidStateError, kSignalingStateClosedMessage));
return true;
}
@@ -465,7 +465,7 @@ RTCPeerConnection::~RTCPeerConnection()
ASSERT(m_closed || m_stopped);
}
-void RTCPeerConnection::createOffer(ExecutionContext* context, RTCSessionDescriptionCallback* successCallback, RTCErrorCallback* errorCallback, const Dictionary& rtcOfferOptions, ExceptionState& exceptionState)
+void RTCPeerConnection::createOffer(ExecutionContext* context, RTCSessionDescriptionCallback* successCallback, RTCPeerConnectionErrorCallback* errorCallback, const Dictionary& rtcOfferOptions, ExceptionState& exceptionState)
{
if (errorCallback)
UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferLegacyFailureCallback);
@@ -481,7 +481,7 @@ void RTCPeerConnection::createOffer(ExecutionContext* context, RTCSessionDescrip
if (exceptionState.hadException())
return;
- RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::create(executionContext(), this, successCallback, errorCallback);
+ RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::create(this, successCallback, errorCallback);
if (offerOptions) {
if (offerOptions->offerToReceiveAudio() != -1 || offerOptions->offerToReceiveVideo() != -1)
@@ -507,7 +507,7 @@ void RTCPeerConnection::createOffer(ExecutionContext* context, RTCSessionDescrip
}
}
-void RTCPeerConnection::createAnswer(ExecutionContext* context, RTCSessionDescriptionCallback* successCallback, RTCErrorCallback* errorCallback, const Dictionary& mediaConstraints, ExceptionState& exceptionState)
+void RTCPeerConnection::createAnswer(ExecutionContext* context, RTCSessionDescriptionCallback* successCallback, RTCPeerConnectionErrorCallback* errorCallback, const Dictionary& mediaConstraints, ExceptionState& exceptionState)
{
if (errorCallback)
UseCounter::count(context, UseCounter::RTCPeerConnectionCreateAnswerLegacyFailureCallback);
@@ -531,7 +531,7 @@ void RTCPeerConnection::createAnswer(ExecutionContext* context, RTCSessionDescri
return;
}
- RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::create(executionContext(), this, successCallback, errorCallback);
+ RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::create(this, successCallback, errorCallback);
m_peerHandler->createAnswer(request, constraints);
}
@@ -547,7 +547,7 @@ ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, c
return promise;
}
-ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCErrorCallback* errorCallback)
+ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCPeerConnectionErrorCallback* errorCallback)
{
ExecutionContext* context = scriptState->executionContext();
if (successCallback && errorCallback) {
@@ -564,7 +564,7 @@ ScriptPromise RTCPeerConnection::setLocalDescription(ScriptState* scriptState, R
ASSERT(sessionDescription);
- RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback);
+ RTCVoidRequest* request = RTCVoidRequestImpl::create(this, successCallback, errorCallback, InvalidAccessError);
m_peerHandler->setLocalDescription(request, sessionDescription->webSessionDescription());
return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate()));
}
@@ -590,7 +590,7 @@ ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState,
return promise;
}
-ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState, RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCErrorCallback* errorCallback)
+ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState, RTCSessionDescription* sessionDescription, VoidCallback* successCallback, RTCPeerConnectionErrorCallback* errorCallback)
{
ExecutionContext* context = scriptState->executionContext();
if (successCallback && errorCallback) {
@@ -607,7 +607,7 @@ ScriptPromise RTCPeerConnection::setRemoteDescription(ScriptState* scriptState,
ASSERT(sessionDescription);
- RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback);
+ RTCVoidRequest* request = RTCVoidRequestImpl::create(this, successCallback, errorCallback, InvalidAccessError);
m_peerHandler->setRemoteDescription(request, sessionDescription->webSessionDescription());
return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate()));
}
@@ -724,14 +724,13 @@ ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, const
RTCVoidRequest* request = RTCVoidRequestPromiseImpl::create(this, resolver, OperationError);
WebRTCICECandidate webCandidate = convertToWebRTCIceCandidate(candidate);
bool implemented = m_peerHandler->addICECandidate(request, webCandidate);
- // TODO(guidou): replace NotSupportedError when error handling in the spec is finalized. crbug.com/585621
if (!implemented)
- resolver->reject(DOMException::create(NotSupportedError, "This method is not yet implemented."));
+ resolver->reject(DOMException::create(OperationError, "This operation could not be completed."));
return promise;
}
-ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, RTCIceCandidate* iceCandidate, VoidCallback* successCallback, RTCErrorCallback* errorCallback)
+ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, RTCIceCandidate* iceCandidate, VoidCallback* successCallback, RTCPeerConnectionErrorCallback* errorCallback)
{
ASSERT(iceCandidate);
ASSERT(successCallback);
@@ -740,10 +739,10 @@ ScriptPromise RTCPeerConnection::addIceCandidate(ScriptState* scriptState, RTCIc
if (callErrorCallbackIfSignalingStateClosed(m_signalingState, errorCallback))
return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate()));
- RTCVoidRequest* request = RTCVoidRequestImpl::create(executionContext(), this, successCallback, errorCallback);
+ RTCVoidRequest* request = RTCVoidRequestImpl::create(this, successCallback, errorCallback, OperationError);
bool implemented = m_peerHandler->addICECandidate(request, iceCandidate->webCandidate());
if (!implemented)
- asyncCallErrorCallback(errorCallback, "This method is not yet implemented.");
+ asyncCallErrorCallback(errorCallback, DOMException::create(OperationError, "This operation could not be completed."));
return ScriptPromise::cast(scriptState, v8::Undefined(scriptState->isolate()));
}

Powered by Google App Engine
This is Rietveld 408576698