Title: [168425] trunk/Source/WebCore
- Revision
- 168425
- Author
- commit-qu...@webkit.org
- Date
- 2014-05-07 07:07:02 -0700 (Wed, 07 May 2014)
Log Message
DocumentLoader::dataReceived assertion failed
https://bugs.webkit.org/show_bug.cgi?id=132017
Patch by pe...@outlook.com <pe...@outlook.com> on 2014-05-07
Reviewed by Brent Fulgham.
We need to call didReceiveResponse client method before the didReceiveData client method, otherwise we get a lot of asserts.
This patch also fixes frequent crashes in downloadTimerCallback method on page loading.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::calculateWebTimingInformations): Initialize local variables.
(WebCore::headerCallback): Call didReceiveResponse client method here instead of in downloadTimerCallback.
(WebCore::ResourceHandleManager::downloadTimerCallback): Remove call to didReceiveResponse method.
(WebCore::ResourceHandleManager::dispatchSynchronousJob): Removed empty line.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (168424 => 168425)
--- trunk/Source/WebCore/ChangeLog 2014-05-07 13:11:00 UTC (rev 168424)
+++ trunk/Source/WebCore/ChangeLog 2014-05-07 14:07:02 UTC (rev 168425)
@@ -1,3 +1,19 @@
+2014-05-07 pe...@outlook.com <pe...@outlook.com>
+
+ DocumentLoader::dataReceived assertion failed
+ https://bugs.webkit.org/show_bug.cgi?id=132017
+
+ Reviewed by Brent Fulgham.
+
+ We need to call didReceiveResponse client method before the didReceiveData client method, otherwise we get a lot of asserts.
+ This patch also fixes frequent crashes in downloadTimerCallback method on page loading.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::calculateWebTimingInformations): Initialize local variables.
+ (WebCore::headerCallback): Call didReceiveResponse client method here instead of in downloadTimerCallback.
+ (WebCore::ResourceHandleManager::downloadTimerCallback): Remove call to didReceiveResponse method.
+ (WebCore::ResourceHandleManager::dispatchSynchronousJob): Removed empty line.
+
2014-05-06 Antti Koivisto <an...@apple.com>
REGRESSION: Animated GIF inside compositing layer never resumes animation when scrolled back into view
Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp (168424 => 168425)
--- trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp 2014-05-07 13:11:00 UTC (rev 168424)
+++ trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp 2014-05-07 14:07:02 UTC (rev 168425)
@@ -158,11 +158,11 @@
static void calculateWebTimingInformations(ResourceHandleInternal* d)
{
- double startTransfertTime;
- double preTransferTime;
- double dnslookupTime;
- double connectTime;
- double appConnectTime;
+ double startTransfertTime = 0;
+ double preTransferTime = 0;
+ double dnslookupTime = 0;
+ double connectTime = 0;
+ double appConnectTime = 0;
curl_easy_getinfo(d->m_handle, CURLINFO_NAMELOOKUP_TIME, &dnslookupTime);
curl_easy_getinfo(d->m_handle, CURLINFO_CONNECT_TIME, &connectTime);
@@ -531,9 +531,10 @@
}
}
- if (client)
+ if (client) {
+ client->didReceiveResponse(job, d->m_response);
CurlCacheManager::getInstance().didReceiveResponse(job, d->m_response);
-
+ }
d->m_response.setResponseFired(true);
} else {
@@ -668,7 +669,6 @@
if (CURLE_OK == msg->data.result) {
-
#if ENABLE(WEB_TIMING)
calculateWebTimingInformations(d);
#endif
@@ -684,7 +684,6 @@
d->m_multipartHandle->contentEnded();
if (d->client()) {
- d->client()->didReceiveResponse(job, d->m_response);
d->client()->didFinishLoading(job, 0);
CurlCacheManager::getInstance().didFinishLoading(job->firstRequest().url().string());
}
@@ -919,7 +918,6 @@
handle->client()->didReceiveResponse(job, handle->m_response);
}
-
#if ENABLE(WEB_TIMING)
calculateWebTimingInformations(handle);
#endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes