Title: [229587] trunk
Revision
229587
Author
you...@apple.com
Date
2018-03-13 14:14:13 -0700 (Tue, 13 Mar 2018)

Log Message

Calling removeTrack with RTCRtpSender does not set SenderTrack to null
https://bugs.webkit.org/show_bug.cgi?id=183308

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https-expected.txt:

Source/WebCore:

Covered by updated test.

* Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::stop): Set track to null when being stopped i.e. removed.
* Modules/mediastream/RTCRtpSender.h:

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (229586 => 229587)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2018-03-13 20:48:53 UTC (rev 229586)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2018-03-13 21:14:13 UTC (rev 229587)
@@ -1,3 +1,12 @@
+2018-03-13  Youenn Fablet  <you...@apple.com>
+
+        Calling removeTrack with RTCRtpSender does not set SenderTrack to null
+        https://bugs.webkit.org/show_bug.cgi?id=183308
+
+        Reviewed by Eric Carlson.
+
+        * web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https-expected.txt:
+
 2018-03-12  Chris Dumez  <cdu...@apple.com>
 
         Return boolean from DOMTokenList's replace() method

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https-expected.txt (229586 => 229587)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https-expected.txt	2018-03-13 20:48:53 UTC (rev 229586)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https-expected.txt	2018-03-13 21:14:13 UTC (rev 229587)
@@ -6,7 +6,7 @@
 FAIL addTransceiver - Calling removeTrack on different connection should throw InvalidAccessError assert_throws: function "() => pc2.removeTrack(sender)" did not throw
 FAIL addTrack - Calling removeTrack on different connection should throw InvalidAccessError assert_throws: function "() => pc2.removeTrack(sender)" did not throw
 FAIL addTransceiver - Calling removeTrack with valid sender should set sender.track to null assert_equals: expected (object) null but got (undefined) undefined
-FAIL addTrack - Calling removeTrack with valid sender should set sender.track to null assert_equals: expected null but got object "[object MediaStreamTrack]"
+PASS addTrack - Calling removeTrack with valid sender should set sender.track to null 
 FAIL Calling removeTrack with currentDirection sendrecv should set direction to recvonly assert_equals: expected (object) null but got (undefined) undefined
 FAIL Calling removeTrack with currentDirection sendonly should set direction to inactive assert_equals: expected (object) null but got (undefined) undefined
 FAIL Calling removeTrack with currentDirection recvonly should not change direction assert_equals: expected (object) null but got (undefined) undefined

Modified: trunk/Source/WebCore/ChangeLog (229586 => 229587)


--- trunk/Source/WebCore/ChangeLog	2018-03-13 20:48:53 UTC (rev 229586)
+++ trunk/Source/WebCore/ChangeLog	2018-03-13 21:14:13 UTC (rev 229587)
@@ -1,5 +1,18 @@
 2018-03-13  Youenn Fablet  <you...@apple.com>
 
+        Calling removeTrack with RTCRtpSender does not set SenderTrack to null
+        https://bugs.webkit.org/show_bug.cgi?id=183308
+
+        Reviewed by Eric Carlson.
+
+        Covered by updated test.
+
+        * Modules/mediastream/RTCRtpSender.cpp:
+        (WebCore::RTCRtpSender::stop): Set track to null when being stopped i.e. removed.
+        * Modules/mediastream/RTCRtpSender.h:
+
+2018-03-13  Youenn Fablet  <you...@apple.com>
+
         Changing link element rel attribute from preload to stylesheet should succeed loading the stylesheet
         https://bugs.webkit.org/show_bug.cgi?id=183601
         <rdar://problem/38309441>

Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.cpp (229586 => 229587)


--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.cpp	2018-03-13 20:48:53 UTC (rev 229586)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.cpp	2018-03-13 21:14:13 UTC (rev 229587)
@@ -62,6 +62,13 @@
     m_track = nullptr;
 }
 
+void RTCRtpSender::stop()
+{
+    m_trackId = { };
+    m_track = nullptr;
+    m_backend = nullptr;
+}
+
 void RTCRtpSender::setTrack(Ref<MediaStreamTrack>&& track)
 {
     ASSERT(!isStopped());

Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.h (229586 => 229587)


--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.h	2018-03-13 20:48:53 UTC (rev 229586)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.h	2018-03-13 21:14:13 UTC (rev 229587)
@@ -56,7 +56,7 @@
     void setMediaStreamIds(Vector<String>&& mediaStreamIds) { m_mediaStreamIds = WTFMove(mediaStreamIds); }
 
     bool isStopped() const { return !m_backend; }
-    void stop() { m_backend = nullptr; }
+    void stop();
     void setTrack(Ref<MediaStreamTrack>&&);
     void setTrackToNull();
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to