| Index: Source/modules/mediastream/RTCVoidRequestImpl.cpp
|
| diff --git a/Source/modules/mediastream/RTCVoidRequestImpl.cpp b/Source/modules/mediastream/RTCVoidRequestImpl.cpp
|
| index f8422d76e3740a6b608caeef9e56a31afb1c61b7..8393cedca105722433f098d64a0f4608bb4cfe32 100644
|
| --- a/Source/modules/mediastream/RTCVoidRequestImpl.cpp
|
| +++ b/Source/modules/mediastream/RTCVoidRequestImpl.cpp
|
| @@ -38,18 +38,20 @@
|
|
|
| namespace WebCore {
|
|
|
| -PassRefPtr<RTCVoidRequestImpl> RTCVoidRequestImpl::create(ExecutionContext* context, PassOwnPtr<VoidCallback> successCallback, PassOwnPtr<RTCErrorCallback> errorCallback)
|
| +PassRefPtr<RTCVoidRequestImpl> RTCVoidRequestImpl::create(ExecutionContext* context, PassRefPtrWillBeRawPtr<RTCPeerConnection> requester, PassOwnPtr<VoidCallback> successCallback, PassOwnPtr<RTCErrorCallback> errorCallback)
|
| {
|
| - RefPtr<RTCVoidRequestImpl> request = adoptRef(new RTCVoidRequestImpl(context, successCallback, errorCallback));
|
| + RefPtr<RTCVoidRequestImpl> request = adoptRef(new RTCVoidRequestImpl(context, requester, successCallback, errorCallback));
|
| request->suspendIfNeeded();
|
| return request.release();
|
| }
|
|
|
| -RTCVoidRequestImpl::RTCVoidRequestImpl(ExecutionContext* context, PassOwnPtr<VoidCallback> successCallback, PassOwnPtr<RTCErrorCallback> errorCallback)
|
| +RTCVoidRequestImpl::RTCVoidRequestImpl(ExecutionContext* context, PassRefPtrWillBeRawPtr<RTCPeerConnection> requester, PassOwnPtr<VoidCallback> successCallback, PassOwnPtr<RTCErrorCallback> errorCallback)
|
| : ActiveDOMObject(context)
|
| , m_successCallback(successCallback)
|
| , m_errorCallback(errorCallback)
|
| + , m_requester(requester)
|
| {
|
| + ASSERT(m_requester);
|
| }
|
|
|
| RTCVoidRequestImpl::~RTCVoidRequestImpl()
|
| @@ -58,7 +60,8 @@ RTCVoidRequestImpl::~RTCVoidRequestImpl()
|
|
|
| void RTCVoidRequestImpl::requestSucceeded()
|
| {
|
| - if (m_successCallback)
|
| + bool shouldFireCallback = m_requester ? m_requester->shouldFireDefaultCallbacks() : false;
|
| + if (shouldFireCallback && m_successCallback)
|
| m_successCallback->handleEvent();
|
|
|
| clear();
|
| @@ -66,7 +69,8 @@ void RTCVoidRequestImpl::requestSucceeded()
|
|
|
| void RTCVoidRequestImpl::requestFailed(const String& error)
|
| {
|
| - if (m_errorCallback.get())
|
| + bool shouldFireCallback = m_requester ? m_requester->shouldFireDefaultCallbacks() : false;
|
| + if (shouldFireCallback && m_errorCallback.get())
|
| m_errorCallback->handleEvent(error);
|
|
|
| clear();
|
| @@ -81,6 +85,7 @@ void RTCVoidRequestImpl::clear()
|
| {
|
| m_successCallback.clear();
|
| m_errorCallback.clear();
|
| + m_requester.clear();
|
| }
|
|
|
| } // namespace WebCore
|
|
|