Title: [141026] trunk/Source/WebKit2
- Revision
- 141026
- Author
- [email protected]
- Date
- 2013-01-28 16:41:36 -0800 (Mon, 28 Jan 2013)
Log Message
WebKit2 should notify the client if the NetworkProcess crashes.
<rdar://problem/13090513> and https://bugs.webkit.org/show_bug.cgi?id=108126
Reviewed by Sam Weinig.
Add new client callback to the ContextClient:
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::networkProcessDidCrash):
* UIProcess/WebContextClient.h:
Call out to the client when the NetworkProcess crashes:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::networkProcessCrashed):
* UIProcess/WebContext.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (141025 => 141026)
--- trunk/Source/WebKit2/ChangeLog 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/ChangeLog 2013-01-29 00:41:36 UTC (rev 141026)
@@ -1,3 +1,24 @@
+2013-01-28 Brady Eidson <[email protected]>
+
+ WebKit2 should notify the client if the NetworkProcess crashes.
+ <rdar://problem/13090513> and https://bugs.webkit.org/show_bug.cgi?id=108126
+
+ Reviewed by Sam Weinig.
+
+ Add new client callback to the ContextClient:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContextClient.cpp:
+ (WebKit::WebContextClient::networkProcessDidCrash):
+ * UIProcess/WebContextClient.h:
+
+ Call out to the client when the NetworkProcess crashes:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::networkProcessCrashed):
+ * UIProcess/WebContext.h:
+
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
+
2013-01-28 Pratik Solanki <[email protected]>
PLATFORM(IOS) should come before __MAC_OS_X_VERSION_MIN_REQUIRED
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.h (141025 => 141026)
--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.h 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.h 2013-01-29 00:41:36 UTC (rev 141026)
@@ -41,11 +41,13 @@
// Context Client
typedef void (*WKContextPlugInAutoStartOriginHashesChangedCallback)(WKContextRef context, const void *clientInfo);
+typedef void (*WKContextNetworkProcessDidCrashCallback)(WKContextRef context, const void *clientInfo);
struct WKContextClient {
int version;
const void * clientInfo;
WKContextPlugInAutoStartOriginHashesChangedCallback plugInAutoStartOriginHashesChanged;
+ WKContextNetworkProcessDidCrashCallback networkProcessDidCrash;
};
typedef struct WKContextClient WKContextClient;
Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp (141025 => 141026)
--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp 2013-01-29 00:41:36 UTC (rev 141026)
@@ -105,7 +105,7 @@
}
// Tell the network process manager to forget about this network process proxy. This may cause us to be deleted.
- m_webContext->removeNetworkProcessProxy(this);
+ m_webContext->networkProcessCrashed(this);
}
void NetworkProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (141025 => 141026)
--- trunk/Source/WebKit2/UIProcess/WebContext.cpp 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp 2013-01-29 00:41:36 UTC (rev 141026)
@@ -375,7 +375,7 @@
m_networkProcess->send(Messages::NetworkProcess::InitializeNetworkProcess(parameters), 0);
}
-void WebContext::removeNetworkProcessProxy(NetworkProcessProxy* networkProcessProxy)
+void WebContext::networkProcessCrashed(NetworkProcessProxy* networkProcessProxy)
{
ASSERT(m_networkProcess);
ASSERT(networkProcessProxy == m_networkProcess.get());
@@ -386,6 +386,8 @@
it->value->processDidClose(networkProcessProxy);
m_networkProcess = nullptr;
+
+ m_client.networkProcessDidCrash(this);
}
void WebContext::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply)
Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (141025 => 141026)
--- trunk/Source/WebKit2/UIProcess/WebContext.h 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h 2013-01-29 00:41:36 UTC (rev 141026)
@@ -264,7 +264,7 @@
#if ENABLE(NETWORK_PROCESS)
void ensureNetworkProcess();
NetworkProcessProxy* networkProcess() { return m_networkProcess.get(); }
- void removeNetworkProcessProxy(NetworkProcessProxy*);
+ void networkProcessCrashed(NetworkProcessProxy*);
void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>);
#endif
Modified: trunk/Source/WebKit2/UIProcess/WebContextClient.cpp (141025 => 141026)
--- trunk/Source/WebKit2/UIProcess/WebContextClient.cpp 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/UIProcess/WebContextClient.cpp 2013-01-29 00:41:36 UTC (rev 141026)
@@ -38,4 +38,12 @@
m_client.plugInAutoStartOriginHashesChanged(toAPI(context), m_client.clientInfo);
}
+void WebContextClient::networkProcessDidCrash(WebContext* context)
+{
+ if (!m_client.networkProcessDidCrash)
+ return;
+
+ m_client.networkProcessDidCrash(toAPI(context), m_client.clientInfo);
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/WebContextClient.h (141025 => 141026)
--- trunk/Source/WebKit2/UIProcess/WebContextClient.h 2013-01-29 00:18:29 UTC (rev 141025)
+++ trunk/Source/WebKit2/UIProcess/WebContextClient.h 2013-01-29 00:41:36 UTC (rev 141026)
@@ -36,6 +36,7 @@
class WebContextClient : public APIClient<WKContextClient, kWKContextClientCurrentVersion> {
public:
void plugInAutoStartOriginHashesChanged(WebContext*);
+ void networkProcessDidCrash(WebContext*);
};
} // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes