[webkit-reviews] review denied: [Bug 127376] GStreamer not buffering loading on Windows : [Attachment 221799] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 27 00:10:51 PST 2014


Carlos Garcia Campos <cgarcia at igalia.com> has denied Alex Christensen
<alex.christensen at flexsim.com>'s request for review:
Bug 127376: GStreamer not buffering loading on Windows
https://bugs.webkit.org/show_bug.cgi?id=127376

Attachment 221799: Patch
https://bugs.webkit.org/attachment.cgi?id=221799&action=review

------- Additional Comments from Carlos Garcia Campos <cgarcia at igalia.com>
Yes, we really want to set the policy as not buffering to avoid buffer copies
while reading the stream. I don't understand why that assert is hit even using
curl, and I don't have a windows to debug it.
CachedRawResource::addDataBuffer() should never be called when the policy is
DoNotBuffer. The resource handle calls ResourceHandleclient::didReceiveData
(what curl backend does) or ResourceHandleclient::didReceiveBuffer (what soup
backend does) when it has read a data chunk. The SubresourceLoader then calls
didReceiveDataOrBuffer() and passes it to the parent ResourceLoader. In
ResourceLoader::didReceiveDataOrBuffer() calls addDataOrBuffer which returns
early when the policy is DoNotBuffer to make sure the m_resourceData is not
set. And at this point is when SubresourceLoader calls
CachedResource::addBuffer or CachedResource::addData, depending on whether
there's cached data for the resource (m_resourceData). So, the only think I can
think of is either something is changing the buffering policy once the resource
load has started, or the m_resourceData of the resource is not correctly
cleaned up at some point.


More information about the webkit-reviews mailing list