Title: [201593] trunk/Source/WebKit2
- Revision
- 201593
- Author
- commit-qu...@webkit.org
- Date
- 2016-06-01 22:39:52 -0700 (Wed, 01 Jun 2016)
Log Message
Notify client immediately if network session doesn't exist for a synchronous XHR load.
https://bugs.webkit.org/show_bug.cgi?id=158239
<rdar://problem/26344251>
Patch by Yongjun Zhang <yongjun_zh...@apple.com> on 2016-06-01
Reviewed by Brady Eidson.
For a synchronous XHR load, if the network session doesn't exist, we should notify NetworkLoadClient.
Otherwise the Web process could hang when waiting for the synchronous load to finish.
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (201592 => 201593)
--- trunk/Source/WebKit2/ChangeLog 2016-06-02 05:21:30 UTC (rev 201592)
+++ trunk/Source/WebKit2/ChangeLog 2016-06-02 05:39:52 UTC (rev 201593)
@@ -1,3 +1,17 @@
+2016-06-01 Yongjun Zhang <yongjun_zh...@apple.com>
+
+ Notify client immediately if network session doesn't exist for a synchronous XHR load.
+ https://bugs.webkit.org/show_bug.cgi?id=158239
+ <rdar://problem/26344251>
+
+ Reviewed by Brady Eidson.
+
+ For a synchronous XHR load, if the network session doesn't exist, we should notify NetworkLoadClient.
+ Otherwise the Web process could hang when waiting for the synchronous load to finish.
+
+ * NetworkProcess/NetworkLoad.cpp:
+ (WebKit::NetworkLoad::NetworkLoad):
+
2016-05-31 Brian Burg <bb...@apple.com>
REGRESSION(r191907): Can't enter combining diacritic marks in Web Inspector fields
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp (201592 => 201593)
--- trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp 2016-06-02 05:21:30 UTC (rev 201592)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp 2016-06-02 05:39:52 UTC (rev 201593)
@@ -57,8 +57,12 @@
m_task = NetworkDataTask::create(*networkSession, *this, parameters.request, parameters.allowStoredCredentials, parameters.contentSniffingPolicy, parameters.shouldClearReferrerOnHTTPSToHTTPRedirect);
if (!parameters.defersLoading)
m_task->resume();
- } else
+ } else {
WTFLogAlways("Attempted to create a NetworkLoad with a session (id=%" PRIu64 ") that does not exist.", parameters.sessionID.sessionID());
+ RunLoop::current().dispatch([this, url = "" {
+ didCompleteWithError(internalError(url));
+ });
+ }
#else
m_handle = ResourceHandle::create(m_networkingContext.get(), parameters.request, this, parameters.defersLoading, parameters.contentSniffingPolicy == SniffContent);
#endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes