Title: [213330] trunk/Source/WebKit2
- Revision
- 213330
- Author
- commit-qu...@webkit.org
- Date
- 2017-03-02 17:29:51 -0800 (Thu, 02 Mar 2017)
Log Message
Move part of NetworkRTCProvider::close implementation in NetworkRTCProvider destructor
https://bugs.webkit.org/show_bug.cgi?id=169104
Patch by Youenn Fablet <you...@apple.com> on 2017-03-02
Reviewed by Alex Christensen.
Improving NetworkRTCProvider clean-up by moving some member field cleaning to the destructor.
The remaining cleaning is still kept in NetworkRTCProvider::close as we need to go to the rtc network thread and
for that, we take a ref of NetworkRTCProvider.
Stopping any resolver before freeing them.
* NetworkProcess/webrtc/NetworkRTCMonitor.h:
* NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::~NetworkRTCProvider):
(WebKit::NetworkRTCProvider::close):
* NetworkProcess/webrtc/NetworkRTCProvider.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (213329 => 213330)
--- trunk/Source/WebKit2/ChangeLog 2017-03-03 01:10:51 UTC (rev 213329)
+++ trunk/Source/WebKit2/ChangeLog 2017-03-03 01:29:51 UTC (rev 213330)
@@ -1,5 +1,23 @@
2017-03-02 Youenn Fablet <you...@apple.com>
+ Move part of NetworkRTCProvider::close implementation in NetworkRTCProvider destructor
+ https://bugs.webkit.org/show_bug.cgi?id=169104
+
+ Reviewed by Alex Christensen.
+
+ Improving NetworkRTCProvider clean-up by moving some member field cleaning to the destructor.
+ The remaining cleaning is still kept in NetworkRTCProvider::close as we need to go to the rtc network thread and
+ for that, we take a ref of NetworkRTCProvider.
+ Stopping any resolver before freeing them.
+
+ * NetworkProcess/webrtc/NetworkRTCMonitor.h:
+ * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
+ (WebKit::NetworkRTCProvider::~NetworkRTCProvider):
+ (WebKit::NetworkRTCProvider::close):
+ * NetworkProcess/webrtc/NetworkRTCProvider.h:
+
+2017-03-02 Youenn Fablet <you...@apple.com>
+
[iOS] Replicate NetworkProcess Mac sandboxing in iOS to allow TCP/UDP
https://bugs.webkit.org/show_bug.cgi?id=169105
Modified: trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.h (213329 => 213330)
--- trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.h 2017-03-03 01:10:51 UTC (rev 213329)
+++ trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.h 2017-03-03 01:29:51 UTC (rev 213330)
@@ -48,6 +48,7 @@
void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
void stopUpdating();
+ bool isStarted() const { return m_isStarted; }
private:
void startUpdating();
Modified: trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.cpp (213329 => 213330)
--- trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.cpp 2017-03-03 01:10:51 UTC (rev 213329)
+++ trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.cpp 2017-03-03 01:29:51 UTC (rev 213330)
@@ -64,10 +64,19 @@
#endif
}
+NetworkRTCProvider::~NetworkRTCProvider()
+{
+ ASSERT(!m_connection);
+ ASSERT(!m_sockets.size());
+ ASSERT(!m_rtcMonitor.isStarted());
+
+ for (auto identifier : m_resolvers.keys())
+ stopResolver(identifier);
+}
+
void NetworkRTCProvider::close()
{
m_connection = nullptr;
- m_resolvers.clear();
m_rtcMonitor.stopUpdating();
callOnRTCNetworkThread([this]() {
Modified: trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.h (213329 => 213330)
--- trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.h 2017-03-03 01:10:51 UTC (rev 213329)
+++ trunk/Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.h 2017-03-03 01:29:51 UTC (rev 213330)
@@ -52,6 +52,7 @@
class NetworkRTCProvider : public ThreadSafeRefCounted<NetworkRTCProvider>, public rtc::MessageHandler {
public:
static Ref<NetworkRTCProvider> create(NetworkConnectionToWebProcess& connection) { return adoptRef(*new NetworkRTCProvider(connection)); }
+ ~NetworkRTCProvider();
void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
void didReceiveNetworkRTCMonitorMessage(IPC::Connection& connection, IPC::Decoder& decoder) { m_rtcMonitor.didReceiveMessage(connection, decoder); }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes