Modified: trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp (253421 => 253422)
--- trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp 2019-12-12 08:24:24 UTC (rev 253421)
+++ trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp 2019-12-12 08:48:07 UTC (rev 253422)
@@ -99,11 +99,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Create offer succeeded:\n", sdp);
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_offerAnswerPromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_offerAnswerPromise), sdp = filterSDP(WTFMove(sdp))]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_offerAnswerPromise);
- m_peerConnection.doTask([promise = WTFMove(m_offerAnswerPromise), sdp = filterSDP(WTFMove(sdp))]() mutable {
promise->resolve(RTCSessionDescription::Init { RTCSdpType::Offer, sdp });
});
}
@@ -113,11 +113,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Create offer failed:", exception.message());
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_offerAnswerPromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_offerAnswerPromise), exception = WTFMove(exception)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_offerAnswerPromise);
- m_peerConnection.doTask([promise = WTFMove(m_offerAnswerPromise), exception = WTFMove(exception)]() mutable {
promise->reject(WTFMove(exception));
});
}
@@ -136,11 +136,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Create answer succeeded:\n", sdp);
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_offerAnswerPromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_offerAnswerPromise), sdp = WTFMove(sdp)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_offerAnswerPromise);
- m_peerConnection.doTask([promise = WTFMove(m_offerAnswerPromise), sdp = WTFMove(sdp)]() mutable {
promise->resolve(RTCSessionDescription::Init { RTCSdpType::Answer, sdp });
});
}
@@ -150,11 +150,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Create answer failed:", exception.message());
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_offerAnswerPromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_offerAnswerPromise), exception = WTFMove(exception)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_offerAnswerPromise);
- m_peerConnection.doTask([promise = WTFMove(m_offerAnswerPromise), exception = WTFMove(exception)]() mutable {
promise->reject(WTFMove(exception));
});
}
@@ -196,12 +196,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER);
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_setDescriptionPromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_setDescriptionPromise)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
-
- ASSERT(m_setDescriptionPromise);
- m_peerConnection.doTask([promise = WTFMove(m_setDescriptionPromise)]() mutable {
promise->resolve();
});
}
@@ -211,11 +210,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Set local description failed:", exception.message());
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_setDescriptionPromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_setDescriptionPromise), exception = WTFMove(exception)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_setDescriptionPromise);
- m_peerConnection.doTask([promise = WTFMove(m_setDescriptionPromise), exception = WTFMove(exception)]() mutable {
promise->reject(WTFMove(exception));
});
}
@@ -256,9 +255,9 @@
{
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Set remote description succeeded");
+ ASSERT(m_setDescriptionPromise);
- ASSERT(!m_peerConnection.isClosed());
-
+ auto promise = WTFMove(m_setDescriptionPromise);
auto events = WTFMove(m_pendingTrackEvents);
for (auto& event : events) {
auto& track = event.track.get();
@@ -272,12 +271,10 @@
track.source().setMuted(false);
}
- if (m_peerConnection.isClosed())
- return;
+ m_peerConnection.doTask([this, promise = WTFMove(promise)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
-
- ASSERT(m_setDescriptionPromise);
- m_peerConnection.doTask([promise = WTFMove(m_setDescriptionPromise)]() mutable {
promise->resolve();
});
}
@@ -290,9 +287,11 @@
ASSERT(m_pendingTrackEvents.isEmpty());
m_pendingTrackEvents.clear();
- ASSERT(!m_peerConnection.isClosed());
ASSERT(m_setDescriptionPromise);
- m_peerConnection.doTask([promise = WTFMove(m_setDescriptionPromise), exception = WTFMove(exception)]() mutable {
+ m_peerConnection.doTask([this, promise = WTFMove(m_setDescriptionPromise), exception = WTFMove(exception)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
+
promise->reject(WTFMove(exception));
});
}
@@ -337,11 +336,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Adding ice candidate succeeded");
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_addIceCandidatePromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_addIceCandidatePromise)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_addIceCandidatePromise);
- m_peerConnection.doTask([promise = WTFMove(m_addIceCandidatePromise)]() mutable {
promise->resolve();
});
}
@@ -351,11 +350,11 @@
ASSERT(isMainThread());
ALWAYS_LOG(LOGIDENTIFIER, "Adding ice candidate failed:", exception.message());
- if (m_peerConnection.isClosed())
- return;
+ ASSERT(m_addIceCandidatePromise);
+ m_peerConnection.doTask([this, promise = WTFMove(m_addIceCandidatePromise), exception = WTFMove(exception)]() mutable {
+ if (m_peerConnection.isClosed())
+ return;
- ASSERT(m_addIceCandidatePromise);
- m_peerConnection.doTask([promise = WTFMove(m_addIceCandidatePromise), exception = WTFMove(exception)]() mutable {
promise->reject(WTFMove(exception));
});
}