[Webkit-unassigned] [Bug 18391] return body data incrementally from libsoup backend

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 10 05:29:06 PDT 2008


http://bugs.webkit.org/show_bug.cgi?id=18391





------- Comment #8 from danw at gnome.org  2008-04-10 05:29 PDT -------
(In reply to comment #6)
> Hi, well i think the previous one was still better. This way you will lose many
> pages from being rendered, such as 404 pages, server errors, ecc..

It doesn't lose them; 2xx responses are returned incrementally, but non-2xx
responses are returned all at once from finishedCallback() just like they were
before this patch. So a 301 redirecting to a 200 would look like:

    gotHeadersCallback
        [msg->status_code == 301]
        return
    gotChunkCallback
        return
    restartedCallback
    gotHeadersCallback
        [msg->status_code == 200]
        didReceiveResponse()
    gotChunkCallback
        didReceiveData()
    [more gotChunkCallbacks...]
    finishedCallback
        didFinishLoading()

but if libsoup didn't follow the redirect (eg, because it was in response to a
PUT, or was to an ftp: URL, etc), then instead of "restarted", you'd get
"finishedCallback", which would see that the final status was non-2xx, and so
it would call didReceiveResponse(), didReceiveData(), and didFinishLoading()
all at once to make up for the fact that it hadn't done that before.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list