Title: [200842] releases/WebKitGTK/webkit-2.12/Source/WebKit2
- Revision
- 200842
- Author
- [email protected]
- Date
- 2016-05-13 04:45:55 -0700 (Fri, 13 May 2016)
Log Message
Merge r200152 - Remove download message receiver when NetworkProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=157102
<rdar://problem/25550106>
Reviewed by Anders Carlsson.
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::processDidClose):
When the NetworkProcess crashes during a download, we want to remove the message receiver from the map
so we don't get an assertion in ~MessageReceiver in the UIProcess so we do not have a freed
message receiver in the map.
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.12/Source/WebKit2/ChangeLog (200841 => 200842)
--- releases/WebKitGTK/webkit-2.12/Source/WebKit2/ChangeLog 2016-05-13 11:43:30 UTC (rev 200841)
+++ releases/WebKitGTK/webkit-2.12/Source/WebKit2/ChangeLog 2016-05-13 11:45:55 UTC (rev 200842)
@@ -1,3 +1,17 @@
+2016-04-27 Alex Christensen <[email protected]>
+
+ Remove download message receiver when NetworkProcess crashes
+ https://bugs.webkit.org/show_bug.cgi?id=157102
+ <rdar://problem/25550106>
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Downloads/DownloadProxyMap.cpp:
+ (WebKit::DownloadProxyMap::processDidClose):
+ When the NetworkProcess crashes during a download, we want to remove the message receiver from the map
+ so we don't get an assertion in ~MessageReceiver in the UIProcess so we do not have a freed
+ message receiver in the map.
+
2016-04-22 Zan Dobersek <[email protected]>
NetworkCacheIOChannelSoup: detach the newly-created IOChannel::readSync thread
Modified: releases/WebKitGTK/webkit-2.12/Source/WebKit2/UIProcess/Downloads/DownloadProxyMap.cpp (200841 => 200842)
--- releases/WebKitGTK/webkit-2.12/Source/WebKit2/UIProcess/Downloads/DownloadProxyMap.cpp 2016-05-13 11:43:30 UTC (rev 200841)
+++ releases/WebKitGTK/webkit-2.12/Source/WebKit2/UIProcess/Downloads/DownloadProxyMap.cpp 2016-05-13 11:45:55 UTC (rev 200842)
@@ -68,13 +68,14 @@
void DownloadProxyMap::processDidClose()
{
// Invalidate all outstanding downloads.
- for (auto it = m_downloads.begin().values(), end = m_downloads.end().values(); it != end; ++it) {
- (*it)->processDidClose();
- (*it)->invalidate();
+ for (const auto& download : m_downloads.values()) {
+ download->processDidClose();
+ download->invalidate();
+ m_process->removeMessageReceiver(Messages::DownloadProxy::messageReceiverName(), download->downloadID().downloadID());
}
m_downloads.clear();
- m_process = 0;
+ m_process = nullptr;
}
} // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes