mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 989936 - fire the onsignalingstatechanged event if close was called locally. r=jesup
This commit is contained in:
parent
e58299ef89
commit
eda0ff85ea
@ -493,12 +493,21 @@ function PeerConnectionTest(options) {
|
|||||||
PeerConnectionTest.prototype.close = function PCT_close(onSuccess) {
|
PeerConnectionTest.prototype.close = function PCT_close(onSuccess) {
|
||||||
info("Closing peer connections. Connection state=" + this.connected);
|
info("Closing peer connections. Connection state=" + this.connected);
|
||||||
|
|
||||||
|
function signalingstatechangeClose(state) {
|
||||||
|
info("'onsignalingstatechange' event '" + state + "' received");
|
||||||
|
is(state, "closed", "onsignalingstatechange event is closed");
|
||||||
|
}
|
||||||
|
|
||||||
// There is no onclose event for the remote peer existent yet. So close it
|
// There is no onclose event for the remote peer existent yet. So close it
|
||||||
// side-by-side with the local peer.
|
// side-by-side with the local peer.
|
||||||
if (this.pcLocal)
|
if (this.pcLocal) {
|
||||||
|
this.pcLocal.onsignalingstatechange = signalingstatechangeClose;
|
||||||
this.pcLocal.close();
|
this.pcLocal.close();
|
||||||
if (this.pcRemote)
|
}
|
||||||
|
if (this.pcRemote) {
|
||||||
|
this.pcRemote.onsignalingstatechange = signalingstatechangeClose;
|
||||||
this.pcRemote.close();
|
this.pcRemote.close();
|
||||||
|
}
|
||||||
this.connected = false;
|
this.connected = false;
|
||||||
|
|
||||||
onSuccess();
|
onSuccess();
|
||||||
@ -585,8 +594,9 @@ function PCT_setLocalDescription(peer, desc, onSuccess) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
peer.onsignalingstatechange = function () {
|
peer.onsignalingstatechange = function (state) {
|
||||||
info(peer + ": 'onsignalingstatechange' event registered, signalingState: " + peer.signalingState);
|
//info(peer + ": 'onsignalingstatechange' event registered, signalingState: " + peer.signalingState);
|
||||||
|
info(peer + ": 'onsignalingstatechange' event '" + state + "' received");
|
||||||
|
|
||||||
eventFired = true;
|
eventFired = true;
|
||||||
check_next_test();
|
check_next_test();
|
||||||
@ -646,8 +656,8 @@ function PCT_setRemoteDescription(peer, desc, onSuccess) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
peer.onsignalingstatechange = function () {
|
peer.onsignalingstatechange = function (state) {
|
||||||
info(peer + ": 'onsignalingstatechange' event registered, signalingState: " + peer.signalingState);
|
info(peer + ": 'onsignalingstatechange' event '" + state + "' received");
|
||||||
|
|
||||||
eventFired = true;
|
eventFired = true;
|
||||||
check_next_test();
|
check_next_test();
|
||||||
@ -1168,7 +1178,9 @@ function PeerConnectionWrapper(label, configuration) {
|
|||||||
this._pc.onsignalingstatechange = function (aEvent) {
|
this._pc.onsignalingstatechange = function (aEvent) {
|
||||||
info(self + ": 'onsignalingstatechange' event fired");
|
info(self + ": 'onsignalingstatechange' event fired");
|
||||||
|
|
||||||
self.onsignalingstatechange();
|
// this calls the eventhandler only once and then overwrites it with the
|
||||||
|
// default unexpectedEvent handler
|
||||||
|
self.onsignalingstatechange(aEvent);
|
||||||
self.onsignalingstatechange = unexpectedEventAndFinish(self, 'onsignalingstatechange');
|
self.onsignalingstatechange = unexpectedEventAndFinish(self, 'onsignalingstatechange');
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,11 @@
|
|||||||
var description;
|
var description;
|
||||||
var exception = null;
|
var exception = null;
|
||||||
|
|
||||||
|
// handle the event which the close() triggers
|
||||||
|
test.pcLocal.onsignalingstatechange = function (state) {
|
||||||
|
is(state, "closed", "Received expected onsignalingstatechange event 'closed'");
|
||||||
|
}
|
||||||
|
|
||||||
test.pcLocal.close();
|
test.pcLocal.close();
|
||||||
|
|
||||||
try { description = test.pcLocal.localDescription; } catch (e) { exception = e; }
|
try { description = test.pcLocal.localDescription; } catch (e) { exception = e; }
|
||||||
@ -66,6 +71,11 @@
|
|||||||
ok(exception, "Attempt to access remoteDescription of pcLocal after close throws exception");
|
ok(exception, "Attempt to access remoteDescription of pcLocal after close throws exception");
|
||||||
exception = null;
|
exception = null;
|
||||||
|
|
||||||
|
// handle the event which the close() triggers
|
||||||
|
test.pcRemote.onsignalingstatechange = function (state) {
|
||||||
|
is(state, "closed", "Received expected onsignalingstatechange event 'closed'");
|
||||||
|
}
|
||||||
|
|
||||||
test.pcRemote.close();
|
test.pcRemote.close();
|
||||||
|
|
||||||
try { description = test.pcRemote.localDescription; } catch (e) { exception = e; }
|
try { description = test.pcRemote.localDescription; } catch (e) { exception = e; }
|
||||||
|
@ -49,6 +49,8 @@
|
|||||||
exception = null;
|
exception = null;
|
||||||
try { pconnects.createOffer(step1, failed, { mandatory: { OfferToReceiveVideo: false, OfferToReceiveAudio: true, MozDontOfferDataChannel: true}, optional: [{ VoiceActivityDetection: true }, { FooBar: "42" }] }); } catch (e) { exception = e; }
|
try { pconnects.createOffer(step1, failed, { mandatory: { OfferToReceiveVideo: false, OfferToReceiveAudio: true, MozDontOfferDataChannel: true}, optional: [{ VoiceActivityDetection: true }, { FooBar: "42" }] }); } catch (e) { exception = e; }
|
||||||
ok(!exception, "createOffer(step1, failed, { mandatory: { OfferToReceiveVideo: false, OfferToReceiveAudio: true, MozDontOfferDataChannel: true}, optional: [{ VoiceActivityDetection: true }, { FooBar: \"42\" }] }) succeeds");
|
ok(!exception, "createOffer(step1, failed, { mandatory: { OfferToReceiveVideo: false, OfferToReceiveAudio: true, MozDontOfferDataChannel: true}, optional: [{ VoiceActivityDetection: true }, { FooBar: \"42\" }] }) succeeds");
|
||||||
|
pconnect.close();
|
||||||
|
pconnects.close();
|
||||||
pconnect = null;
|
pconnect = null;
|
||||||
pconnects = null;
|
pconnects = null;
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
|
@ -1600,7 +1600,11 @@ PeerConnectionImpl::Close()
|
|||||||
CSFLogDebug(logTag, "%s: for %s", __FUNCTION__, mHandle.c_str());
|
CSFLogDebug(logTag, "%s: for %s", __FUNCTION__, mHandle.c_str());
|
||||||
PC_AUTO_ENTER_API_CALL_NO_CHECK();
|
PC_AUTO_ENTER_API_CALL_NO_CHECK();
|
||||||
|
|
||||||
return CloseInt();
|
nsresult res = CloseInt();
|
||||||
|
|
||||||
|
SetSignalingState_m(PCImplSignalingState::SignalingClosed);
|
||||||
|
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user