This is an automated email from the git hooks/post-receive script.
pierov pushed a commit to branch tor-browser-102.2.0esr-12.0-1 in repository tor-browser.
commit 368c171dfc54b01977eec346b64813bdf3a0dfa0 Author: Andrew McCreight continuation@gmail.com AuthorDate: Sun Jun 19 16:18:00 2022 +0000
Bug 1770075 - Unlink preserved wrapper in RTCRtpTransceiver. r=bwc, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D149673 --- dom/media/moz.build | 2 ++ dom/media/webrtc/jsapi/RTCRtpTransceiver.cpp | 1 + dom/media/webrtc/tests/crashtests/1770075.html | 8 ++++++++ dom/media/webrtc/tests/crashtests/crashtests.list | 1 + testing/crashtest/crashtests.list | 1 + 5 files changed, 13 insertions(+)
diff --git a/dom/media/moz.build b/dom/media/moz.build index 8596f28f18cb4..aab6f2d3fd7e5 100644 --- a/dom/media/moz.build +++ b/dom/media/moz.build @@ -106,6 +106,8 @@ if CONFIG["MOZ_WEBRTC"]: "webrtc/tests/mochitests/mochitest_peerconnection.ini", ]
+ CRASHTEST_MANIFESTS += ["webrtc/tests/crashtests/crashtests.list"] + XPIDL_SOURCES += [ "nsIAudioDeviceInfo.idl", "nsIMediaDevice.idl", diff --git a/dom/media/webrtc/jsapi/RTCRtpTransceiver.cpp b/dom/media/webrtc/jsapi/RTCRtpTransceiver.cpp index a4dcdd8302b86..025f517955f0c 100644 --- a/dom/media/webrtc/jsapi/RTCRtpTransceiver.cpp +++ b/dom/media/webrtc/jsapi/RTCRtpTransceiver.cpp @@ -134,6 +134,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(RTCRtpTransceiver) // teardown code itself during unlink. NS_IMPL_CYCLE_COLLECTION_UNLINK(mWindow, mReceiver, mSendTrack, mSender, mDtlsTransport, mLastStableDtlsTransport) + NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(RTCRtpTransceiver) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWindow, mPc, mSendTrack, mReceiver, diff --git a/dom/media/webrtc/tests/crashtests/1770075.html b/dom/media/webrtc/tests/crashtests/1770075.html new file mode 100644 index 0000000000000..4d451216bdb97 --- /dev/null +++ b/dom/media/webrtc/tests/crashtests/1770075.html @@ -0,0 +1,8 @@ +<script> +window.addEventListener('load', () => { + let a = new RTCPeerConnection({}, {}) + a.createOffer({'offerToReceiveVideo': true}) + let b = new WeakRef(a.getTransceivers()[0]) + setTimeout("self.close()", 200) +}) +</script> diff --git a/dom/media/webrtc/tests/crashtests/crashtests.list b/dom/media/webrtc/tests/crashtests/crashtests.list new file mode 100644 index 0000000000000..2371871c7561b --- /dev/null +++ b/dom/media/webrtc/tests/crashtests/crashtests.list @@ -0,0 +1 @@ +load 1770075.html diff --git a/testing/crashtest/crashtests.list b/testing/crashtest/crashtests.list index 59151a458c26f..fffe4e7ff7a12 100644 --- a/testing/crashtest/crashtests.list +++ b/testing/crashtest/crashtests.list @@ -23,6 +23,7 @@ include ../../dom/media/mediasource/test/crashtests/crashtests.list include ../../dom/media/test/crashtests/crashtests.list include ../../dom/media/webvtt/test/crashtests/crashtests.list skip-if(!webrtc) include ../../dom/media/tests/crashtests/crashtests.list +skip-if(!webrtc) include ../../dom/media/webrtc/tests/crashtests/crashtests.list include ../../dom/media/webspeech/synth/crashtests/crashtests.list include ../../dom/offline/crashtests/crashtests.list include ../../dom/plugins/test/crashtests/crashtests.list