Modified: trunk/Source/WebKit2/ChangeLog (185365 => 185366)
--- trunk/Source/WebKit2/ChangeLog 2015-06-09 17:07:19 UTC (rev 185365)
+++ trunk/Source/WebKit2/ChangeLog 2015-06-09 17:11:50 UTC (rev 185366)
@@ -1,5 +1,21 @@
2015-06-09 Carlos Garcia Campos <[email protected]>
+ [SOUP] Network Cache: Give more priority to reads over writes in IO WorkQueue
+ https://bugs.webkit.org/show_bug.cgi?id=145791
+
+ Reviewed by Sergio Villar Senin.
+
+ Keep using G_PRIORITY_DEFAULT for reads, but use
+ G_PRIORITY_DEFAULT_IDLE for writes now.
+
+ * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
+ (WebKit::NetworkCache::outputStreamWriteReadyCallback): Use
+ G_PRIORITY_DEFAULT_IDLE for write async operations.
+ (WebKit::NetworkCache::IOChannel::write): Pass
+ G_PRIORITY_DEFAULT_IDLE to runTaskInQueue().
+
+2015-06-09 Carlos Garcia Campos <[email protected]>
+
[SOUP] Network Cache: run the IO completion handler in the given queue instead of the whole operation
https://bugs.webkit.org/show_bug.cgi?id=145797
Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp (185365 => 185366)
--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp 2015-06-09 17:07:19 UTC (rev 185365)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp 2015-06-09 17:11:50 UTC (rev 185366)
@@ -261,7 +261,7 @@
asyncData->buffer = adoptGRef(soup_buffer_new_subbuffer(asyncData->buffer.get(), bytesWritten, pendingBytesToWrite));
// Use a local variable for the data buffer to pass it to g_output_stream_write_async(), because WriteAsyncData is released.
auto data = ""
- g_output_stream_write_async(stream, data, pendingBytesToWrite, G_PRIORITY_DEFAULT, nullptr,
+ g_output_stream_write_async(stream, data, pendingBytesToWrite, G_PRIORITY_DEFAULT_IDLE, nullptr,
reinterpret_cast<GAsyncReadyCallback>(outputStreamWriteReadyCallback), asyncData.release());
}
@@ -285,7 +285,7 @@
WriteAsyncData* asyncData = new WriteAsyncData { this, data.soupBuffer(), queue, completionHandler };
// FIXME: implement offset.
- g_output_stream_write_async(stream, asyncData->buffer->data, data.size(), G_PRIORITY_DEFAULT, nullptr,
+ g_output_stream_write_async(stream, asyncData->buffer->data, data.size(), G_PRIORITY_DEFAULT_IDLE, nullptr,
reinterpret_cast<GAsyncReadyCallback>(outputStreamWriteReadyCallback), asyncData);
}