Title: [218714] trunk/Source/WebCore
- Revision
- 218714
- Author
- [email protected]
- Date
- 2017-06-22 12:54:06 -0700 (Thu, 22 Jun 2017)
Log Message
Fix memory leak in LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=173717
Patch by Youenn Fablet <[email protected]> on 2017-06-22
Reviewed by Eric Carlson.
No chnage of behavior.
Making sure SessionDescription pointer get properly released.
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
* testing/MockLibWebRTCPeerConnection.cpp: Allocating description.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (218713 => 218714)
--- trunk/Source/WebCore/ChangeLog 2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/ChangeLog 2017-06-22 19:54:06 UTC (rev 218714)
@@ -1,3 +1,18 @@
+2017-06-22 Youenn Fablet <[email protected]>
+
+ Fix memory leak in LibWebRTCMediaEndpoint
+ https://bugs.webkit.org/show_bug.cgi?id=173717
+
+ Reviewed by Eric Carlson.
+
+ No chnage of behavior.
+ Making sure SessionDescription pointer get properly released.
+
+ * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+ (WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
+ * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
+ * testing/MockLibWebRTCPeerConnection.cpp: Allocating description.
+
2017-06-22 Daniel Bates <[email protected]>
Make FrameLoadRequest a move-only type
Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (218713 => 218714)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp 2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp 2017-06-22 19:54:06 UTC (rev 218714)
@@ -846,7 +846,7 @@
ASSERT_NOT_REACHED();
}
-void LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded(webrtc::SessionDescriptionInterface* description)
+void LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded(std::unique_ptr<webrtc::SessionDescriptionInterface>&& description)
{
std::string sdp;
description->ToString(&sdp);
Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h (218713 => 218714)
--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h 2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h 2017-06-22 19:54:06 UTC (rev 218714)
@@ -100,7 +100,7 @@
void OnIceCandidate(const webrtc::IceCandidateInterface*) final;
void OnIceCandidatesRemoved(const std::vector<cricket::Candidate>&) final;
- void createSessionDescriptionSucceeded(webrtc::SessionDescriptionInterface*);
+ void createSessionDescriptionSucceeded(std::unique_ptr<webrtc::SessionDescriptionInterface>&&);
void createSessionDescriptionFailed(const std::string&);
void setLocalSessionDescriptionSucceeded();
void setLocalSessionDescriptionFailed(const std::string&);
@@ -128,7 +128,7 @@
public:
explicit CreateSessionDescriptionObserver(LibWebRTCMediaEndpoint &endpoint) : m_endpoint(endpoint) { }
- void OnSuccess(webrtc::SessionDescriptionInterface* sessionDescription) final { m_endpoint.createSessionDescriptionSucceeded(sessionDescription); }
+ void OnSuccess(webrtc::SessionDescriptionInterface* sessionDescription) final { m_endpoint.createSessionDescriptionSucceeded(std::unique_ptr<webrtc::SessionDescriptionInterface>(sessionDescription)); }
void OnFailure(const std::string& error) final { m_endpoint.createSessionDescriptionFailed(error); }
int AddRef() const { return m_endpoint.AddRef(); }
Modified: trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp (218713 => 218714)
--- trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp 2017-06-22 19:45:10 UTC (rev 218713)
+++ trunk/Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp 2017-06-22 19:54:06 UTC (rev 218714)
@@ -327,8 +327,7 @@
"a=setup:actpass\r\n";
}
}
- MockLibWebRTCSessionDescription description(sdp.str());
- observer->OnSuccess(&description);
+ observer->OnSuccess(new MockLibWebRTCSessionDescription(sdp.str()));
});
}
@@ -428,8 +427,7 @@
"a=setup:active\r\n";
}
}
- MockLibWebRTCSessionDescription description(sdp.str());
- observer->OnSuccess(&description);
+ observer->OnSuccess(new MockLibWebRTCSessionDescription(sdp.str()));
});
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes