Title: [242506] trunk/Source/WebCore
Revision
242506
Author
you...@apple.com
Date
2019-03-05 13:49:36 -0800 (Tue, 05 Mar 2019)

Log Message

MockLibWebRTCPeerConnection is leaking some session description
https://bugs.webkit.org/show_bug.cgi?id=195315
<rdar://problem/47840038>

Reviewed by David Kilzer.

Make sure to release raw pointers given from WebCore to mock libwebrtc layer.
Covered by existing tests when run in leaks mode.

* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (242505 => 242506)


--- trunk/Source/WebCore/ChangeLog	2019-03-05 21:49:35 UTC (rev 242505)
+++ trunk/Source/WebCore/ChangeLog	2019-03-05 21:49:36 UTC (rev 242506)
@@ -1,3 +1,18 @@
+2019-03-05  Youenn Fablet  <you...@apple.com>
+
+        MockLibWebRTCPeerConnection is leaking some session description
+        https://bugs.webkit.org/show_bug.cgi?id=195315
+        <rdar://problem/47840038>
+
+        Reviewed by David Kilzer.
+
+        Make sure to release raw pointers given from WebCore to mock libwebrtc layer.
+        Covered by existing tests when run in leaks mode.
+
+        * testing/MockLibWebRTCPeerConnection.cpp:
+        (WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
+        (WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):
+
 2019-03-05  Ryan Haddad  <ryanhad...@apple.com>
 
         Unreviewed, rolling out r242403.

Modified: trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp (242505 => 242506)


--- trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp	2019-03-05 21:49:35 UTC (rev 242505)
+++ trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp	2019-03-05 21:49:36 UTC (rev 242506)
@@ -164,7 +164,11 @@
     virtual ~MockLibWebRTCPeerConnectionReleasedInNetworkThreadWhileSettingDescription() = default;
 
 private:
-    void SetLocalDescription(webrtc::SetSessionDescriptionObserver* observer, webrtc::SessionDescriptionInterface*) final { releaseInNetworkThread(*this, *observer); }
+    void SetLocalDescription(webrtc::SetSessionDescriptionObserver* observer, webrtc::SessionDescriptionInterface* sessionDescription) final
+    {
+        std::unique_ptr<webrtc::SessionDescriptionInterface> toBeFreed(sessionDescription);
+        releaseInNetworkThread(*this, *observer);
+    }
 };
 
 MockLibWebRTCPeerConnectionFactory::MockLibWebRTCPeerConnectionFactory(const String& testCase)
@@ -207,8 +211,9 @@
     return new rtc::RefCountedObject<webrtc::MediaStream>(label);
 }
 
-void MockLibWebRTCPeerConnection::SetLocalDescription(webrtc::SetSessionDescriptionObserver* observer, webrtc::SessionDescriptionInterface*)
+void MockLibWebRTCPeerConnection::SetLocalDescription(webrtc::SetSessionDescriptionObserver* observer, webrtc::SessionDescriptionInterface* sessionDescription)
 {
+    std::unique_ptr<webrtc::SessionDescriptionInterface> toBeFreed(sessionDescription);
     LibWebRTCProvider::callOnWebRTCSignalingThread([this, observer] {
         observer->OnSuccess();
         gotLocalDescription();
@@ -217,6 +222,7 @@
 
 void MockLibWebRTCPeerConnection::SetRemoteDescription(webrtc::SetSessionDescriptionObserver* observer, webrtc::SessionDescriptionInterface* sessionDescription)
 {
+    std::unique_ptr<webrtc::SessionDescriptionInterface> toBeFreed(sessionDescription);
     LibWebRTCProvider::callOnWebRTCSignalingThread([observer] {
         observer->OnSuccess();
     });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to