[tbb-commits] [tor-browser] 19/179: Bug 1770075 - Unlink preserved wrapper in RTCRtpTransceiver. r=bwc, a=RyanVM

gitolite role git at cupani.torproject.org
Fri Aug 19 08:35:16 UTC 2022


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 at 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

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tbb-commits mailing list