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