[Webkit-unassigned] [Bug 62808] [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jul 12 13:36:58 PDT 2011


--- Comment #48 from Luiz Agostini <luiz at webkit.org>  2011-07-12 13:36:58 PST ---
(In reply to comment #46)
> Created an attachment (id=100537)
 --> (https://bugs.webkit.org/attachment.cgi?id=100537&action=review) [details]
> Fix the layout test
> If QNetworkReplyHandler is set to synchronous load, it has to deliver content synchronously. Otherwise, it causes problems in some cases. e.g.
> void ResourceHandle::loadResourceSynchronously(...) {
>     ... ...
>     RefPtr<ResourceHandle> handle = adoptRef(new ResourceHandle(request, &syncLoader, true, false));
>     ... ...
>     d->m_job = new QNetworkReplyHandler(handle.get(), QNetworkReplyHandler::SynchronousLoad, true);
>     d->m_job->setLoadingDeferred(false);

This was done this way for d->m_job to be assigned before actually sending the request. Otherwise some callbacks could come before d->m_job could get assigned. setLoadingDeferred was abused a bit but the other options were not that better.

As the queue is owned by the QNetworkReplyHandler object an option would be to add a 'synchronous' flag to the class QNetworkReplyHandlerCallQueue and make it resume synchronously when needed.

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

More information about the webkit-unassigned mailing list