[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
sergio at webkit.org
sergio at webkit.org
Sun Feb 20 23:41:50 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit 360c01f75fe72364ab072b83132cc5b456bdfebc
Author: sergio at webkit.org <sergio at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jan 24 10:57:08 2011 +0000
2011-01-24 Sergio Villar Senin <svillar at igalia.com>
Reviewed by Martin Robinson.
[Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
https://bugs.webkit.org/show_bug.cgi?id=52885
No new tests as it does not change functionality. We will not wait for
the the input stream to close to issue didFinishLoading to
WebCore. We expect a subtle performance improvement with this
patch when loading complex web pages, as we wouldn't have to wait
for the stream to close (which involves creating a thread among
other things).
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::closeCallback):
(WebCore::readCallback):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 2141cc1..fbdfe0e 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2011-01-24 Sergio Villar Senin <svillar at igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
+ https://bugs.webkit.org/show_bug.cgi?id=52885
+
+ No new tests as it does not change functionality. We will not wait for
+ the the input stream to close to issue didFinishLoading to
+ WebCore. We expect a subtle performance improvement with this
+ patch when loading complex web pages, as we wouldn't have to wait
+ for the stream to close (which involves creating a thread among
+ other things).
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::closeCallback):
+ (WebCore::readCallback):
+
2011-01-21 Pavel Podivilov <podivilov at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp b/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
index a7170fe..4ee9ef6 100644
--- a/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
+++ b/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
@@ -811,18 +811,8 @@ static void closeCallback(GObject* source, GAsyncResult* res, gpointer)
return;
ResourceHandleInternal* d = handle->getInternal();
- ResourceHandleClient* client = handle->client();
-
g_input_stream_close_finish(d->m_inputStream.get(), res, 0);
cleanupSoupRequestOperation(handle.get());
-
- // The load may have been cancelled, the client may have been
- // destroyed already. In such cases calling didFinishLoading is a
- // bad idea.
- if (d->m_cancelled || !client)
- return;
-
- client->didFinishLoading(handle.get(), 0);
}
static void readCallback(GObject* source, GAsyncResult* asyncResult, gpointer data)
@@ -854,6 +844,10 @@ static void readCallback(GObject* source, GAsyncResult* asyncResult, gpointer da
}
if (!bytesRead) {
+ // Finish the load. We do not wait for the stream to
+ // close. Instead we better notify WebCore as soon as possible
+ client->didFinishLoading(handle.get(), 0);
+
g_input_stream_close_async(d->m_inputStream.get(), G_PRIORITY_DEFAULT,
0, closeCallback, 0);
return;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list